我是初级铁路开发人员。我试图通过smtp发送电子邮件gmail.com我发现this article在互联网上。我的environments/production.rb
config.action_mailer.delivery_method = :sendmail
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_options = {from: '[email protected]'}
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'devb.carwash.it',
user_name: '[email protected]',
password: 'mypass',
authentication: 'plain',
enable_starttls_auto: true
}
像这样我试图发送邮件
UserNotificationMailer.send_change_password_link(@user, params[:user][:password]).deliver_now
我有这个错误。 Net :: SMTPSyntaxError(501语法:HELO主机名
在我的服务器上,如果我运行hostname
主机名,输出是:
devb.carwash.it
我做错了什么?谢谢
域名应该是gmail.com
您已将其设置为您自己的域但这是不正确的。
HELO域名
在几乎所有情况下,您必须为:: start / SMTP #start提供第三个参数。这是您所在的域名(发送邮件的主机)。它被称为“HELO域”。 SMTP服务器将通过检查HELO域来判断是应该发送还是拒绝SMTP会话。
示例配置:
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'gmail.com',
user_name: '[email protected]',
password: 'mypass',
authentication: :plain,
enable_starttls_auto: true
}
让我分享一下我在用Gmail修复此问题时遇到的问题。
:plain
更改为:login
希望这可以帮助 :)
所以不幸的是我没有解决这个问题。我的修复是不使用动作邮件的mail(),但使用Mail gem - 它工作正常。