我在 CentOS 7 上安裝了 Zimbra Collaboration Suite。
問題是每當我的腳本執行 mutt 時,它不會將訊息保存到 .muttrc 中的特定(遠端 IMAP)資料夾中。
同時,當我直接執行命令時,它確實將訊息保存到資料夾中。
這是我的 .muttrc 配置,位於執行腳本的目前使用者主目錄中:
set from="IP Address Information <ip-no-reply@xxx>"
set folder="imaps://username:password@localhost"
set mask="!^\\.[^.]"
set record="+IPInfo"
set postponed="+Drafts"
set spoolfile="+INBOX"
set edit_headers=yes
set ssl_starttls=yes
set ssl_force_tls=yes
set smtp_url = "smtp://username:password@localhost:587"
這是 mutt 調用,由 cron 每小時執行一次:
echo "Test" | mutt -s "IP Address Information" [email protected]
如果我要像這樣呼叫命令:
mutt -s "IP Address Information" [email protected]
並遵循該過程(mutt 打開 vi 並讓我輸入正文),它確實將訊息保存到資料夾中。但是我無法將此命令放入腳本中,因為它是自動的。
這是我提到的目標資料夾:
答案1
最近我將mutt和Zimbra的位置進行了拆分,發現郵件發送過程中出現了憑證問題。
mutt 正在等待確認以接受或拒絕證書,如果它在沒有互動的情況下運行,則會自動拒絕證書。 [這是我對行為的假設]
這是更新的 .muttrc:
set from="IP Address Information <ip-no-reply@xxx>"
set folder="imaps://username:password@zimbra_or_postfix_server"
set mask="!^\\.[^.]"
set record="+IPInfo"
set postponed="+Drafts"
set spoolfile="+INBOX"
set edit_headers=yes
set certificate_file=.mutt-certs
set ssl_starttls=yes
set ssl_force_tls=yes
set smtp_url = "smtp://username:password@zimbra_or_postfix_server:587"
我一直在尋找這個問題的解決方案,並在這裡找到了答案:http://www.seas.upenn.edu/cets/answers/mutt-certificates.html這解釋了我必須將set certificate_file
指令添加到文件中。
讓 mutt 儲存自簽名憑證後,腳本可以再次向 MTA 發送電子郵件。但是,當我檢查用於傳遞的帳戶的郵箱時,有一個名為「IPInfo」的資料夾遵循該set record
指令。因此我認為解決我原來問題的方法是讓 mutt 保存自簽名憑證。
我希望這對任何正在尋找類似答案的人有所幫助。