Chciałbym pobrać wszystkie wiadomości e-mail z mojego starego serwera pocztowego. Używa POP3 i interesują mnie wiadomości e-mail w folderach „Skrzynka odbiorcza” i „Wysłane”. Po pobraniu wszystkich wiadomości chciałbym utworzyć skrypt, który wyświetla listę wszystkich wiadomości e-mail między moim adresem e-mail a jednym określonym adresem e-mail w sposób chronologiczny w jednym pliku tekstowym.
Jednak na początku myślę, że muszę pobrać wszystkie wiadomości do jednego pliku z nagłówkami, w tym datami, a następnie utworzyć skrypt sortujący. Jak do tego podejść?
Użyłem mailx w skryptach do wysyłania maili, ale czy można użyć mailx do pobrania wszystkich maili z serwera POP3 do jednego pliku?
Odpowiedzi:
Tradycyjna pocztax nie obsługuje IMAP ani POP, ale ta, która jest dostarczana z Linuksem, obsługuje.
W przypadku konkretnego problemu zalecamy użycie
fetchmail
zamiast tego. Możesz użyć tej--mda
opcji, abyfetchmail
wykonać wybrany skrypt dla każdej pobranej wiadomości. Może nawet przekazywać adresy Od i Do jako parametry do skryptu, jeśli używasz%F
i%T
jako symbole zastępcze w wierszu poleceń.Najpierw utwórz
mailsorter
skrypt:Następnie uruchomić
fetchmail -u myname popserver.example.com --mda './mailsorter /tmp/mbox %F %T'
Podczas testowania tego rozwiązania, dają i flagi, aby upewnić się, że nie przypadkowo usunąć pocztę.
fetchmail
--all
--keep
źródło
Fetchmail
było dokładnie tym, czego szukałem. Jest jednak jeden problem - jeśli pobieram całą pocztę przez POP3, nadal pobieram tylko te, które widzę w folderze „Skrzynka odbiorcza” w interfejsie internetowym. Chciałbym jednak uzyskać dostęp do poczty e-mail również w folderach „Wyślij” i „Usunięte”. czy to możliwe?fetchmail --folder Sent
(lubfetchmail INBOX.Sent
z układem folderów niektórych serwerów IMAP).