ruby-on-rails-4 – Rails 4 Sendgrid集成给出错误 – 不允许未经身份验证的发件人

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-4 – Rails 4 Sendgrid集成给出错误 – 不允许未经身份验证的发件人前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Rails 4服务器上集成了Sendgrid设置.这些设置适用于开发环境.但这会给生产环境带来错误.
Net::SMTPFatalError (550 Cannot receive from specified address <simmi@mydomain.com>: Unauthenticated senders not allowed)

配置/初始化/ email_setup.rb

ActionMailer::Base.smtp_settings = {
   :address              => "smtp.sendgrid.net",:domain               => DOMAIN,:user_name            => ENV['SENDGRID_USERNAME'],:password             => ENV['SENDGRID_PASSWORD'],:authentication       => "plain",:enable_starttls_auto => true
}

配置/初始化/ devise.rb

config.mailer_sender = 'simmi@mydomain.com'

配置/环境/ production.rb

# Default URL
config.action_mailer.default_url_options = { host: 'mysite.mydomain.com' }

DOMAIN = 'mysite.mydomain.com'

解决方法

根据sendgrid支持团队的说法,当用户名或密码不正确时会出现此错误.我尝试通过telnet手动登录到smtp服务器,它正在工作.

在我的服务器命令行上,我按照以下步骤操作:

telnet smtp.sendgrid.net 587
EHLO
AUTH LOGIN
Enter username in Base64
Enter password in Base64

链接将文本转换为Base64 – http://www.opinionatedgeek.com/dotnet/tools/base64encode/

ENV变量在某种程度上不适用于我的生产环境.作为一种解决方法,我尝试直接添加用户名和密码,它的工作原理.

猜你在找的Ruby相关文章