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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...