Email
傳出 smtp 根據 From 地址選擇伺服器
我使用一個名為 Alpine 的電子郵件客戶端。目前我以幾種不同模式之一啟動它,以便根據我正在做的事情指定傳出 SMTP 伺服器,特別是我希望使用的發件人地址。
更方便的是,如果我可以簡單地指示 Alpine 使用我自己的 SMTP 伺服器(在我的筆記型電腦上),然後它會根據我發送的每條消息的發件人地址選擇一個中繼伺服器。
我希望有人已經在這樣做(鑑於最近收緊了對接受郵件的限制,這似乎應該是一種普遍的需求)並且它並不復雜。
(作為獎勵,我還希望能夠以使用本地伺服器的模式啟動 Alpine,該伺服器等到星期一早上發送消息。)
這可能是同一個問題:根據 From e-mail address 更改 mutt 中的 SMTP 身份驗證,但它很舊,esmtp 上的引用也是如此——我不確定 esmtp 是否與現代安全協議等保持同步。
Alpine 電子郵件客戶端的答案
Alpine 的最新版本是為 Ubuntu 編譯的,帶有許多可用的更新檔,即增強功能,其中包括一個稱為“smtp-rules”的功能。它的文件記錄並不完美,但這就是該
.pinerc
部分對我來說的樣子。它處理來自我的雇主、母校和兩個 Gmail 身份的電子郵件地址:# Unfortunately, using gmail's SMTP servers require setting up 2-factor authorization, # which then allows you to get an "app password" for each account, which can be used # by Alpine. Instead of doing this, for now I'm using MIT's, which is changing but # currently letting through my gmail identities smtp-rules= _FROM_ == {me@McGill.ca} => _SMTP_{smtp.office365.com:587/tls/user=me@mcgill.ca} smtp-rules= _FROM_ == {someone@gmail.com} => _SMTP_{outgoing-alum.mit.edu:465/ssl/user=me} smtp-rules= _FROM_ == {anotheridentity@gmail.com} => _SMTP_{outgoing-alum.mit.edu:465/ssl/user=me} smtp-rules= _FROM_ == {me@alum.mit.edu} => _SMTP_{outgoing-alum.mit.edu:465/ssl/user=me}
對於其他客戶,或使用 Alpine 的其他方式
我沒有測試過 esmtp,因為上面的效果很好,但這似乎是一個替代方案:
- 安裝 esmtp
- 將 smtp-server 欄位設置為執行檔,
/usr/local/bin/esmtp
- 在您的
~/.esmtprc
文件中添加以下內容:identity joe@mail.com hostname mail.server.com:25 username "joe" password "secret" starttls enabled default identity joe@gmail.com hostname smtp.gmail.com:587 username "joe@gmail.com" password "secret2" starttls required
esmtp 部分的參考:使用 eSMTP 為簡單的單使用者系統發送郵件 - TechRepublic。