Smtp

根據發件人電子郵件地址更改 mutt 中的 SMTP 身份驗證

  • October 8, 2010

我使用mutt作為我的電子郵件閱讀器,使用nbSMTP作為我的 SMTP 客戶端。我檢查來自六個帳戶的電子郵件,並將它們分類到我的郵件目錄中的雜項文件夾中。有些文件夾是特定於帳戶的,但有些文件夾在一個文件夾中包含來自多個帳戶的電子郵件

許多帳戶是通過Gmail使用的,它具有阻止使用者從不屬於他們的地址發送郵件的不幸安全功能。因此,如果我告訴 nbSTMP 進行身份驗證user1@gmail.com並發送帶有標頭的電子郵件From: user2@gmail.com,Gmail 會將標頭重寫為From: user1@gmail.com.

我通過為特定於帳戶的文件夾添加文件夾掛鉤來解決這個問題。當我切換到其中一個文件夾時,鉤子會更改我的 sendmail 命令以向 nbSMTP 傳遞適當的命令行參數:

folder-hook =work 'set from="work@example.com"'
folder-hook =work 'set sendmail="/usr/bin/nbsmtp -f work@example.com -U work -P password"'

但是,這不適用於包含來自多個帳戶的郵件的文件夾,並且如果我嘗試work@example.com在我沒有切換到work文件夾時發送電子郵件(因為文件夾掛鉤沒有跑步)。**有沒有辦法控制 nbSMTP 如何根據From外發電子郵件中的標頭進行身份驗證?**我不認為 nbSMTP 本身俱有處理它的靈活性,所以我很確定它必須是某種mutt配置,就像folder-hook我目前使用的方法一樣,但我還沒有弄清楚如何去做。如有必要,我可能會切換 SMTP 客戶端,如果有另一個確實提供了必要的功能

你可以切換到 esmtp,這很簡單:

identity myself@gmail.com
       hostname smtp.googlemail.com:25
       username "myself@gmail.com"
       password "secret"
       starttls enabled
       default

identity mysecondaccount@gmail.com
       hostname smtp.googlemail.com:25
       username "mysecondaccount@gmail.com"
       password "evenmoresecret"
       starttls enabled
       default

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