Mutt

使用 mutt 和 msmtp 的多個 smtp 帳戶

  • September 16, 2019

我使用mutt兩個不同的imap帳戶,並使用and配置了smtp 帳戶AB。msmtp``mutt

如果我沒有在 中指定預設帳戶.msmtprcmutt則會在我嘗試發送時抱怨沒有預設帳戶。

如果我設置預設帳戶A,則將其mutt用於所有 imap 帳戶。

如何讓它使用對應的 imap 帳戶的 smtp 帳戶B ?

在帳戶B mutt 配置文件中,我設置了以下內容:

## sent
set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="My Name"
set from=my@gmail.com
set hostname="gmail.com"
set ssl_force_tls=yes
set imap_pass=$my_pass
unset ssl_starttls

在 .msmtprc 中,帳戶配置為:

defaults
tls on
port 587

[...]

account gmail
tls_fingerprint 39:7C:59:20:DE:55:51:F4:8B:72:1D:B5:B2:26:8A:D1:DB:90:C6:28:80:77:F9:B5:EC:C1:BF:1C:6F:4D:A1:63
from my@gmail.com
host smtp.gmail.com
auth on
user my@gmail.com
passwordeval gpg2 --no-tty -q -d ~/mygmail.gpg

在帳戶的 mutt 配置中(A 或 B),您使用:

set sendmail="/usr/local/bin/msmtp -a [account]

它告訴 msmtp 在 .msmtprc 中使用哪些帳戶參數。在我的 msmtp 配置中,我專門將預設設置為 na,這會強制將帳戶設置為 mutt。

在範例到末尾有“將 msmtp 與 Mutt 一起使用”man msmtp部分

envelope_from=yes選項允許 Mutt 使用 -f msmtp 選項。因此 msmtp 選擇第一個與發件人地址 you@example.com 匹配的帳戶。

這實際上意味著:不要在set sendmailmsmtp 的 mutts 路徑中指定帳戶。但是在發送之前使用一些鍵盤宏在身份(和來自)之間切換。對於鍵盤marco,有不同的方法-手冊中提到了其中一種。我再給你一個,你可以選擇:

.muttrc

set sendmail="/usr/bin/msmtp"
set use_from=yes
set envelope_from=yes

alias gmail    Horton Bumblebee <hobumbl@gmail.com>
alias example  H. Bumblebee <hbum@example.com>
macro compose v "<edit-from>^Uidentity\_<tab>" "Select from"

.msmtprc

defaults
...

account gmail
 host imap.gmail.com
 from hobumbl@gmail.com
 ...

account example
 host mail.example.com
 from hbum@example.com
 ...

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