Email

如何將 mutt 與本地儲存、IMAP 和即時推送新電子郵件一起使用?

  • May 28, 2019

我正在考慮切換到mutt電子郵件。不過,我有幾個要求。

  1. 我希望能夠離線儲存電子郵件。
  2. 我希望將電子郵件立即推送到我的本地電腦,而不是定期輪詢(例如使用 IMAP IDLE)。

對於離線儲存,我可以使用imapofflineor isync。我知道後者更穩定。但是,要按需推送電子郵件,我為 isync 找到的唯一選項是mswatch。不幸的是,這需要在遠端電子郵件伺服器上安裝一個程序,這是不可能的。是否有允許我使用mutt離線電子郵件儲存和即時電子郵件傳遞的解決方案?

不幸的是,另一個答案中提出的兩種可能性並不完美。offlineimap在最好的時候是相當多的車。例如,沒有辦法在新郵件到達後自動執行腳本。fetchmail不雙向同步。

相反,我最終使用的解決方案是imapnotifyisync的組合。我配置imapnotify為在觸發新郵件時執行腳本(通過 IDLE)。

此腳本的執行mbsync "${channel}:INBOX"取決於哪個帳戶有郵件。接下來它執行notmuch new。最後,它將未讀電子郵件的數量記錄到一個文件中,如下所示。該文件的內容顯示在我的桌面環境的面板上。

mail_count_file="/home/foo/.cache/new_mail_count"
new_count=$(find ~/.mail/*/Inbox/new -type f | wc -l)
if [[ $new_count > 0 ]]; then
 echo $new_count > "$mail_count_file"
else
 if [[ -f "$mail_count_file" ]]; then
   rm "$mail_count_file"
 fi
fi

更新

imapnotify (nodejs-imapnotify) 定期斷開連接,沒有警告/錯誤,並且經常錯過新郵件。python-imapnotify也間歇性地工作。但是,根據我的經驗, goimapnotify效果很好。它很少退出,當它退出時(例如,由於網路斷開和/或掛起週期),它會迅速重新啟動自己而不會大驚小怪。

引用自:https://unix.stackexchange.com/questions/231184