Office 365 的 SMTP 无法识别的认证类型

我使用 socketlabs.com 作为邮件投递服务,也曾遇到过类似的问题。在我的情况下,解决方案是编辑 lib/tasks/emails.rake 文件,具体如下:
将以下行:
Net::SMTP.start(smtp[:address], smtp[:port], 'localhost', smtp[:user_name], smtp[:password])
修改为:
Net::SMTP.start(smtp[:address], smtp[:port], 'localhost', smtp[:user_name], smtp[:password], smtp[:authentication])

如果不进行此修改,DISCOURSE_SMTP_AUTHENTICATION: login 参数将不会被传递给底层的 SMTP 代码。

我尚未测试此修改后的代码是否适用于其他认证方式,但它已解决了使用 login 认证时的问题。