Zabawy z procmailem
Przy okazji migracji kolejnego klienta pojawiła się potrzeba przeniesienia danych z jego skrzynek pocztowych bez danych w postaci mailboxów. Oczywiście po odrobinie szukania trafiłem na dobrze wszystkim znany i lubiany procmail 🙂
Co to jest ?
procmail jak sama nazwa wskazuje to zabawka ktora pozwala na pobieranie maili z innych skrzynek. Zawodowi Linuksiarze / Uniksiarze korzystają z niego aby pobrać pocztę z obcych kont (POP3 / IMAP ) i innych na swój lokalny serwer i tam czytać np. za pomocą mutta.
Inne systemy (zwykle do zarządzania hostingiem itp) korzystają z procmaila jako z narzędzia do celów wszelakich, bo potrafi on pobierać i skanować pocztę np. pod kątem SPAMu czy innych syfów. Jak widać procmail ma wiele porzytecznych zastosowań.
Jak to się je ?
Instalacja nie nastręcza nam wiele problemów i pytańapt-get installfetchmail
dla Debiana i
cd /usr/port/mail/fetchmail [ make install clean
dla FreeBSD. Po instalacji możemy się zabrać do tworzenia pliku konfiguracyjnego. Z racji na “zwykłe” zastosowania procmaila zaleca sięutworzenie pliku .fetchmailrc
w katalogu domowym użytkownika, ale my będzie kombinować inaczej. Procmail ma pobrać jedynie pocztę z starej skrzynki i podrobić ją na skrzynce użytkownika na naszym serwerze. Dlatego też nazwa pliku niekoniecznie musi być .fetchmailrc
.
Zawartość tego pliku powie procmailowi skąd ma pobierać i gdzie kierować. Składnia jest bajecznie prosta, przypomina słowo “mówione” oczywiście w języku angielskim. Poniżej mały przykład:[ poll ___nazwa_lub_ip_serwera___ proto pop3: [ username "___nazwa_uzytkownika", with password "__haslo__" is "__adres_docelowy__" here; [
czyli dla przykładu[ poll pop.o2.pl proto pop3: [ username "admin@o2.pl, with password "tajneprzepoufne" is "admin@wp.pl" here; [
Czyli pobieraj z serwera pop.o2.pl protokołem pop3 dla użytkownika xxx z hasłem yyy jako zzz tutaj (w znaczeniu lokalnie). Teraz warto sprawdzić czy nam wszystko działa wydając polecenie procmail -f .procmailrc -v -c
istotne parametry -c – tylko sprawdzamy, -f wskazujemy nazwę pliku z którego czytamy konfigurację, -v dodatkowa weryfikacja (verbose) jeżeli nie pojawiły nam się błędy można odpalić procmaila pełną gębą:
fetchmail -f .procmailrs
jeżeli nie chcemy kasować poczty z serwera źródłowego warto dodać opcję -k. Warto zwrócić uwagę na to, że procmaila nie uruchomimy z poziomu roota 🙂