LINUX.ORG.RU

Как скачать всю почту?

 ,


0

1

ЖЖ (кому не интересно прокрутите до --):

По старинке еще со времен диалапа отдаю предпочтение десктоп-клиентам (в моем случае mutt) и читаю всю почту локально, предварительно загружая ее с сервера. fetchmail с относительно недавних времен умеют в imap.gmail.com (он не соответствует стандартам, поэтому с ним были проблемы раньше).

Имею почтовые аккаунты на Gmail и Yandex, с которых хочу забирать почту всю, но по протоколу IMAP fetchmail только забирает почту из папки/директории/каталога/??? INBOX. Для того, чтобы например забрать почту из директории Spam, приходится указывать ее вручную: fetchmail --folder "[Gmail]/Spam"

--

Существует ли способ сказать fetchmail, чтобы тот на IMAP сервере сам прошелся по всем директориям, и забрал всю почту?

Или, существует ли способ (или утилита) чтобы определить какие вообще существуют директории на IMAP-сервере, чтобы не плодить одинаковые настройки аккаунтов в ~/.fetchmailrc только лишь для того, чтобы указать другую folder.

~/.fetchmailrc

defaults
fetchall
no keep
no rewrite

poll imap.gmail.com protocol imap
username "ivan.gayevskiy@gmail.com" is "spoofing" password "********"
ssl
mda "procmail -d %T"
# mda "formail -s cat >> ${HOME}/Mail/INBOX"

poll pop.yandex.ru protocol pop3
username "ivan.gayevskiy@yandex.ru" is "spoofing" password "********"
ssl
mda "procmail -d %T"

~/.procmailrc

PATH="/bin:/usr/bin:/usr/bin"
MAILDIR="${HOME}"
DEFAULT="/var/spool/mail/${LOGNAME}"
VERBOSE="off"

:0:
* ^TO_.*@nginx\.
Mail/maillist/nginx/

:0 c
Mail/INBOX

Пока ничего лучше, чем

for folder in INBOX [Gmail]/Spam [Gmail]/Trash; do
  fetchmail --folder "$folder" ...
done
в голову не приходит. Возникает проблема, что оно так же пытается проверить почту на всех аккаунтах (на яндексе понятное дело такой структуры каталогов нет).

В итоге пытаюсь сделать, чтобы fetchmail проходился по всем IMAP-аккаунтам, в этих IMAP-аккаунтах проходился по всем директориям, и загружал с них всю почту, раскидывая по соответствующей структуре локально:

Mail/
  INBOX 
  Spam
  Trash
И если в Mail/ отсутствует директория, которая есть на IMAP-сервере, то по-умолчанию почту сохранял в Mail/INBOX.

И просто подскажите, как это красиво/грамотно написать на конфиге fetchmail/procmail? Потому что сейчас получается, что для каждого аккаунта и каждой IMAP-директории настройки настолько уникальны, что хоть вообще не пиши конфиги, а передавай все параметрами к команде fetchmail - ужос.

★★★★★

по идее, folder можно прописать в .fetchmailrc

poll imap.gmail.com protocol imap
username "ivan.gayevskiy@gmail.com" is "spoofing" password "********"
ssl
folder INBOX,[Gmail]/Spam,[Gmail]/Trash
mda "procmail -d %T"
ananas ★★★★★
()

Остался только один момент, чтобы как-то procmail'у передать название директории, откуда письма загружаются.

Жаль, не получилось сделать:

folder dir1
mda formail ...

folder dir2
mda procmail ...
чтобы в зависимости от директории можно было указать разные MDA. Ладно, фиг с ним.

Может тогда есть способ в ~/.procmailrc узнать, из какой именно директории загружаются письма?
Т.е. например, чтобы все письма загружаемые из "[Gmail]/Spam" оказывались в ~/Mail/Spam, а остальные по-умолчанию, в INBOX.

Spoofing ★★★★★
() автор топика
Ответ на: комментарий от Spoofing

а что мешает завести несколько poll, по одному на каждую папку, с разными mda?

ananas ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.