如何在mutt中轻松设置多个账户?

如何在mutt中轻松设置多个账户?

我想将 mutt 与多个帐户一起使用。我想使用不同的 smtp 服务器通过 ssmtp 发送电子邮件。一份由公司提供的内部邮件(支持 imap),一份用于我的私人电子邮件(gmail)。

答案1

至少在mutt 1.5中,你可以使用send2-hook根据每条消息的发件人地址更改配置值。从文档中:

send2-hook在 后执行send-hook,并且可以用于根据消息的发件人地址设置参数,例如 $sendmail 变量。

虽然我自己没有尝试过,但听起来你提到的 ssmtp 和 getmail 从 Gmail 帐户下载邮件的组合应该效果很好。您可能还想加入 procmail 来进行客户端邮件排序。

为了更轻松地处理多个发件人地址,我自己在我的 mutt 配置中有以下内容:

alias f__1 Me <[email protected]>
alias f__2 Myself <[email protected]>
alias f__3 I <[email protected]>
macro compose <esc>f "<edit-from><kill-line>f__<tab><search>[email protected]<enter>"

完成此操作后,我只需点击escape f撰写屏幕即可更改发件人地址,它默认为我最常使用的地址。部分出于历史原因,我使用文件夹挂钩来设置$smtp_url,但从文档的声音来看,使用它应该很简单send2-hook

我拥有的一件事不是发现一个简单的处理方法是签名。您可以使用文件夹挂钩在每个文件夹的基础上设置 $signature 的值,但这大约是我能够(或更准确地说,不厌其烦)获得的最接近的值。

答案2

感谢 Michael Kjörling 的回答,我能够从多个帐户发送我的 Mutt,每个帐户都有自己的 SMTP 配置。

首先是msmtp配置。这里没有什么特别的,只是按照他们的要求设置了两个帐户文档

$ cat .msmtprc 
defaults
tls on
tls_trust_file [redacted]
logfile [redacted]
domain serverdomainexample.tech

account example
host smtp.example.com
port 587
auth on
from [email protected]
user [email protected]
password correct-horse-battery-staple

account example2
host smtp.example2.net
port 587
auth on
from [email protected]
user [email protected]
password correct-horse-battery-staple-2

account default : example

接下来,mutt配置。

$ cat .mutt/muttrc
...
set sendmail      = '/usr/bin/msmtp'
set realname      = 'User'
set use_from      = 'yes'
set envelope_from = 'yes'
set from          = '[email protected]'
alternates          '([email protected])|([email protected])'
macro compose <esc>1 '<esc>f^UUser <[email protected]><enter>'
macro compose <esc>2 '<esc>f^UUser2 <[email protected]><enter>'
send2-hook '~e [email protected]' "set sendmail = '/usr/bin/msmtp -a example2'"
...

使用宏,我可以在邮件撰写屏幕上输入 来选择我的发送地址<esc>+#,其中#是我想要的地址的号码。


<esc>+1对于[email protected]
<esc>+2对于[email protected]

通过该send-hook2行,mutt 将检查Sender地址是否匹配[email protected]
当它执行时,msmtp将使用该标志调用-a example2,此时它将使用example2帐户配置而不是默认配置。

相关内容