6.4.2. 高级 MUA — Mutt + msmtp

Mutt 能够使用 msmtp 来配置多个源电子邮件地址使用多个相应的智能主机。

[提示]提示

Msmtp 是一个 sendmail 模拟器,它允许和其它提供 /usr/sbin/sendmail 命令的 sendmail 模拟器一起安装。所以你可以保留你系统上的邮件系统为 exim4postfix

让我们考虑支持 3 个电子邮件地址作为例子:

一个定制的 ~/.muttrc 例子,支持 3 个智能主机用于 3 个不同的源电子邮件地址。

  1. set use_from
  2. set from="My Name3 <myaccount3@example.org>"
  3. set reverse_name
  4. alternates myaccount1@gmail\.com|myaccount1@gmail\.com|myaccount3@example\.org
  5. # ...
  6. # MACRO
  7. macro compose "1" "<edit-from>^UMy Name1 \<myaccount1@gmail.com\>\n"
  8. macro compose "2" "<edit-from>^UMy Name2 \<myaccount2@gmail.com\>\n"
  9. macro compose "3" "<edit-from>^UMy Name3 \<myaccount3@example.org\>\n"
  10. send2-hook '~f myaccount1@gmail.com' "set sendmail = '/usr/bin/msmtp --read-envelope-from'"
  11. send2-hook '~f myaccount2@gmail.com' "set sendmail = '/usr/bin/msmtp --read-envelope-from'"
  12. send2-hook '~f myaccount3@example.org' "set sendmail = '/usr/bin/msmtp --read-envelope-from'"
  13. # ...

让我们来安装 msmtp-gnome 并按下面的方式设置 ~/.msmtprc

  1. defaults
  2. logfile ~/.msmtp.log
  3. domain myhostname.example.org
  4. tls on
  5. tls_starttls on
  6. tls_certcheck on
  7. tls_trust_file /etc/ssl/certs/ca-certificates.crt
  8. auth on
  9. port 587
  10. auto_from
  11. account myaccount1@gmail.com
  12. host smtp.gmail.com
  13. from myaccount1@gmail.com
  14. user myaccount1@gmail.com
  15. account myaccount2@gmail.com
  16. host smtp.gmail.com
  17. from myaccount2@gmail.com
  18. user myaccount2@gmail.com
  19. account myaccount3@example.org
  20. host mail.example.org
  21. from myaccount3@example.org
  22. user myaccount3@example.org
  23. account default : myaccount3@example.org

然后,增加密码数据到 Gnome 钥匙环。例如:

  1. $ secret-tool store --label=msmtp \
  2. host smtp.gmail.com \
  3. service smtp \
  4. user myaccount1@gmail.com
  5. ...
[提示]提示

如果你不想使用 Gnome 钥匙环,你可以通过安装 msmtp 软件包来代替,在 ~/.msmtprc 文件里面,给每一个账号增加一个类似 “password secret123“ 的条目。更多信息请参见 memtp 文档