我在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变量在某种程度上不适用于我的生产环境.作为一种解决方法,我尝试直接添加用户名和密码,它的工作原理.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。