实验室新添加的服务器需要一个基本的邮件通知功能,也就是在某些事件发生时能够向外发送电子邮件进行通知。众所周知,配置电子邮件的基础设施通常会很麻烦。因此,我在寻找解决方案时有以下三点考虑:
- 服务器程序发送电子邮件的接口应该通用。因此,我优先考虑使用提供了兼容
/usr/sbin/sendmail
命令的软件。 - 避免额外注册邮箱账号的麻烦。因此我选择重复利用我已有的 GMail 账号。
- 考虑 GMail 的特有限制。由于使用 Google 主密码进行 SMTP 发信身份认证的操作已经被 GMail 认为不安全而禁用了,所以这次必须变相使用用户名和密码完成 SMTP 配置。Google 提供了一个名为
App passwords
的特别功能,能够根据需要创建一个起替代作用的纯文本密码。
我最后选择的解决方案是 msmtp
配合 msmtp-mta
以及 GMail SMTP + App Passwords
组合。整个过程基本是遵循Gmail with an App Password这篇英文博客文章来部署的。
本文的配置在2024年10月有效,但无法保证永远生效。请在进行配置之前先行验证方法的有效性。
继续阅读