Ruby on rails 具有NTLM身份验证的ActionMailer(Exchange 2010)
我有一个使用Rails 4.2的Rails应用程序。如何使用具有NTLM身份验证的Exchange 2010服务器发送邮件?根据ActionMailer文档: :身份验证-如果邮件服务器需要身份验证,则需要在此处指定身份验证类型。这是一个符号,是以下符号之一:plain(将发送Base64编码的密码)、:login(将发送Base64编码的密码)或:cram_md5(结合质询/响应机制来交换信息和加密消息摘要5算法来散列重要信息) 无论我选择什么身份验证方法,我都会不断出现以下错误:Ruby on rails 具有NTLM身份验证的ActionMailer(Exchange 2010),ruby-on-rails,exchange-server,actionmailer,exchange-server-2010,Ruby On Rails,Exchange Server,Actionmailer,Exchange Server 2010,我有一个使用Rails 4.2的Rails应用程序。如何使用具有NTLM身份验证的Exchange 2010服务器发送邮件?根据ActionMailer文档: :身份验证-如果邮件服务器需要身份验证,则需要在此处指定身份验证类型。这是一个符号,是以下符号之一:plain(将发送Base64编码的密码)、:login(将发送Base64编码的密码)或:cram_md5(结合质询/响应机制来交换信息和加密消息摘要5算法来散列重要信息) 无论我选择什么身份验证方法,我都会不断出现以下错误: Net::
Net::SMTPSyntaxError: 504 5.7.4 Unrecognized authentication type
所以我自己找到了解决办法。我一直收到此错误,因为我使用的Exchange服务器不需要身份验证,因此您根本不应通过任何身份验证选项:
config.action_mailer.smtp_settings = {
address: 'smtp.yourdomain.com',
port: 587,
domain: 'yourdomain.com'
}
是的,没错:
用户名
,密码
和身份验证
被遗漏了。您检查过了吗?我试过了,但运气不好。我想知道它是否适用于Rails4.2,作者告诉您在environment.rb中做一些事情。此文件在我的项目中不存在。它通常位于config/environment.rb
中。。。我还没有看过一个Rails项目(虽然我不太记得Rails2/3)。我的错,你是对的。尝试了这个解决方案,现在它起作用了。谢谢