配置 Monit 以通过 Office365 发送邮件

nsx*_*sxt 6 outlook smtp monit microsoft-office-365 outlook-web-app

我想配置的monit通过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 - 所以我无法完全帮助配置,但请查看这些配置项:

  1. 确保消息中的 FROM 与您登录的帐户相同。
  2. 直接检查也正在通过的身份验证类型。如果您的配置显示 AUTH LOGIN 尝试将其更改为 AUTH BASIC。
  3. O365 支持 TLS 1.0、1.1 和 1.2 - 但是,您还必须确保启用了 O365 支持的正确密码套件,否则将无法建立连接。请参阅此处了解支持的密码套件:https://technet.microsoft.com/en-us/library/mt163898.aspx 要查找您正在使用或尝试使用的内容 - 您需要进行数据包跟踪 - 这将显示哪些您正在使用的协议、版本和密码套件(或者如果您没有使用兼容的协议)。使用 WireShark 之类的工具来获取此信息。所有操作系统都将启用一组默认的密码套件 - 但您可以启用其他密码套件并更改它们尝试的顺序。