![配置Monit通过Office365发送邮件](https://linux22.com/image/627944/%E9%85%8D%E7%BD%AEMonit%E9%80%9A%E8%BF%87Office365%E5%8F%91%E9%80%81%E9%82%AE%E4%BB%B6.png)
我正在尝试配置监控通过Office365发送邮件,相关配置如下:
set mailserver smtp.office365.com port 587 username "username" password "password" using tlsv1 with timeout 30 seconds
不幸的是,它不起作用。以下是来自的相关错误/var/log/monit.log
:
[PST Feb 27 06:40:48] error : Sendmail error: 534-5.7.9 Please log in with your web browser and then try again. Learn more at
(是的,错误被截断了。)
凭证是正确的 - 我已成功使用它们登录 Office 365/Outlook。我还使用此帐户通过 Rails 应用程序发送邮件,因此我认为配置问题出在 Monit 端,而不是 Microsoft 端。
似乎有人遇到了类似的障碍这里。虽然我找不到任何文档证实 Monit 支持 TLS v1.1,但如果它不支持我会感到惊讶(该规范已有 8 年历史了)。
我是否遗漏了什么?
答案1
“504 5.7.4 无法识别的身份验证类型”是对您的请求的响应。这意味着您正在通过连接不支持的身份验证类型请求访问。
我不熟悉 MONIT - 所以我无法完全帮助配置,但请查看以下配置项:
- 确保消息中的发件人与您登录的帐户相同。
- 直接检查正在传递的身份验证类型。如果您的配置显示 AUTH LOGIN,请尝试将其更改为 AUTH BASIC。
- O365 支持 TLS 1.0、1.1 和 1.2 - 但是,您还必须确保启用了 O365 支持的正确密码套件,否则将无法建立连接。请参阅此处了解支持的密码套件:https://technet.microsoft.com/en-us/library/mt163898.aspx 要查找您正在使用或尝试使用的内容 - 您需要进行数据包跟踪 - 这将显示您正在使用的协议、版本和密码套件(或者您是否没有使用兼容的密码套件)。使用类似 WireShark 的工具来获取此信息。所有操作系统都会启用一组默认密码套件 - 但允许您启用其他密码套件以及更改尝试顺序。
答案2
我成功使用了 TLS 1.2。如下所示:
set mailserver smtp.office365.com port 587
username "username" password "password"
using tlsv12
with timeout 30 seconds
SET TLS options{VERSION: AUTO}
答案3
/etc/mail.rc 中的“设置 smtp-use-starttls”