Dla wszystkich używających standardowego IMAPa z NND.
Domyślna kompilacja powoduje, że poczta przechowywana jest w katalogu domowym użytkownika. Niby nic z tym złego, jednak jeśli ktoś, jak ja, używa kilku komputerów może to prowadzić do pewnych niedogodności. W skrócie w czym problem - aby na różnych maszynach mieć zawsze dostęp do poczty korzystam nie z protokołu POP3, ale właśnie z IMAP. Czyli cała poczta jest trzymana na serwerze, a klienty tylko czytają, bez pobierania na lokalny dysk. Działa to świetnie - mam pocztę zawsze ze sobą, nawet maile z 2002 roku, bez względu na to skąd na świecie się łączę. Żeby mieć jeszcze łatwiej to pocztę mam posegregowaną w wielu folderach (u mnie to robi Thunderbird na głównym komputerze, ale można też na serwerze procmailem) w zależności od nadawcy. Jakiś czas temu jednak kupiłem iPada i okazało się, że
wszystkie dostępne klienty IMAP dla iPada pokazują mi wszystkie pliki i katalogi z mojego katalogu domowego, nie tylko te związane z pocztą... trochę to niewygodne, a i ryzyko usunięcia czegoś co chcę trzymać rośnie. Powtórzę - żaden z dostępnych programów na iPada/iPhona nie ma możliwości odsubskrybowania katalogów, których nie chcemy wyświetlać w programie pocztowym. Dziwne i wkurzające. Jednocześnie IMAP z NND jest pozbawiony jakichkolwiek możliwości konfiguracji. Wszystko trzeba zrobić na etapie kompilacji. A rozwiązanie jest proste - wystarczy kazać IMAPowi trzymać pocztę w jakimś specjalnym katalogu... ja wybrałem katalog MAIL umieszczony w $HOME użytkownika. Zmiany, które trzeba zrobić w pliku PKGBUILD są naprawdę niewielkie i sprowadzają się do dodania jednej linijki:
teraz mamy tak:
build() {
# fix Makefile
cd $startdir/src/$pkgname-$pkgver/src/osdep/unix
cp Makefile Makefile.orig
a powinno być tak:
build() {
# fix Makefile
cd $startdir/src/$pkgname-$pkgver/src/osdep/unix
sed -i '/static char \*mailsubdir \=/s/NIL/\"MAIL\"/' ./env_unix.c
cp Makefile Makefile.orig
To wszystko, teraz (na wszelki wypadek) zatrzymujemy pocztę, w katalogu domowym użytkownika tworzymy katalog MAIL należący do użytkownika i grupy users, nadajemy mu prawa czytania, pisania i wykonywania (700), a następnie kopiujemy wszystkie katalogi związane z pocztą do katalogu MAIL. Po uruchomieniu poczty klienty IMAP na iPadzie/iPhonie będą widziały tylko to co będzie w katalogu MAIL.
Przy okazji warto też zainstalować poprawne certyfikaty. Aby to zrobić należy wyedytować PKGBUILD i zmienić
--
SomeState
SomeCity
SomeOrganization
SomeOrganizationalUnit
localhost.localdomain
root@localhost.localdomain
na nasze własne dane.
UWAGA - tam gdzie są dwa myślniki wpisujemy dwuliterowe oznaczenie kraju - PL dla Polski, GB dla Wielkiej Brytanii, US dla Stanów Zjednoczonych itp...
P.S. oczywiście po wprowadzeniu zmian do PKGBUILD pakiet trzeba zbudować i zainstalować.