我正在尝试通过动作邮件发送电子邮件。我有相同的生产和开发配置:
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'ee.ex.my_domain.net',
port: 465,
domain: 'my_domain',
user_name: 'email@my_mail.com',
password: 'my_pass',
authentication: :ntlm,
enable_starttls_auto: true
}
config.action_mailer.default_url_options = { :host => "localhost:3000" }
开发和生产配置之间的唯一区别是主机。为了生产,我使用现有的url,在我的本地机器上它工作正常但是当我在服务器上尝试时我得到了这个错误:
Net::SMTPSyntaxError (504 5.7.4 Unrecognized authentication type)
我之前在本地计算机上遇到此错误,但我将身份验证更改为:ntml
并且运行正常。
更新
在服务器控制台中尝试过(来自ntlm gem github页面的代码)
require 'ntlm/smtp'
smtp = Net::SMTP.new('smtp.example.com')
smtp.start('localhost.localdomain', 'Domain\\User', 'Password', :ntlm) do |smtp|
smtp.send_mail(mail_body, from_addr, to_addr)
end
但有相同的错误