Я думаю о переходе mutt
на электронную почту. Однако у меня есть несколько требований.
- Я хотел бы иметь возможность хранить электронную почту в автономном режиме.
- Я хотел бы, чтобы электронная почта была немедленно отправлена на мой локальный компьютер, а не на периодический опрос (например, с использованием IMAP IDLE).
Для автономного хранения я мог бы использовать imapoffline
или isync
. Я понимаю, что последний более стабильный. Однако, чтобы отправлять электронную почту по требованию, единственная опция, которую я нашел для isync - это mswatch . К сожалению, это требует установки программы на удаленном почтовом сервере, что невозможно. Есть ли решение, которое позволит мне использовать mutt
автономное хранение электронной почты и мгновенную доставку электронной почты?
Ответы:
Единственный способ немедленно «отправить» почту вашему клиенту - это сделать это на сервере, как только почта будет доставлена. Это неизбежно потребует установки и запуска программного обеспечения на почтовом сервере, поэтому каждое потенциальное решение будет иметь ту же проблему, что и
mswatch
.Частые опросы, вероятно, ваш лучший вариант.
По моему опыту, запуск
offlineimap
или подобное из cron каждые несколько минут работает достаточно хорошо.Некоторые программы извлечения изображений поддерживают команду imap IDLE. IDLE не является «push» (так как клиент все еще получает почту с сервера), но обычно приводит к почти мгновенному обновлению вашего локального почтового ящика.
offlineimap поддерживает его, но в руководстве говорится: «Поддержка IDLE неполная и экспериментальная. Могут встречаться ошибки».
fetchmail поддерживает IDLE начиная с версии 5.0
источник
offlineimap
есть некоторая поддержка для IDLE, но в руководстве говорится: «Поддержка IDLE неполная и экспериментальная. Могут встречаться ошибки».Don't set the automatic send/receive interval too short [less than 5 minutes] or you could end up endlessly polling the mail server, send/receive errors and sometimes even duplicates
(хотя это для конкретного клиента).fetchmail
также поддерживает простаивает с v5.0 fetchmail.info/fetchmail-features.htmlК сожалению, две возможности, предложенные в другом ответе, были несовершенны.
offlineimap
был довольно глючным в лучшие времена. Например, нет способа автоматически запустить скрипт после получения новой почты.fetchmail
не синхронизируется двунаправленно.Вместо этого я решил использовать комбинацию imapnotify и isync . Я настроил
imapnotify
запуск скрипта при запуске новой почты (через IDLE).Этот скрипт запускается в
mbsync "${channel}:INBOX"
зависимости от того, какая учетная запись имеет почту. Далее это работаетnotmuch new
. Наконец, он записывает количество непрочитанных писем в файл, как показано ниже. Содержимое этого файла отображается на панели моего рабочего стола.Обновить
imapnotify (nodejs-imapnotify) регулярно отключается без предупреждений / ошибок и часто пропускает новую почту. python-imapnotify также работает с перебоями. Однако goimapnotify работает очень хорошо в моем опыте. Он редко выпадает, и когда это происходит (например, из-за отключений от сети и / или циклов приостановки), он быстро перезапускается без суеты.
источник
offlineimap
: используяpostsynchook
опцию в конфигурации; вот как я бегуnotmuch new
..."No hook exists for “run after an IDLE response”. Email will show up, but may not be processed until the next refresh cycle."