Ruby on rails 用于身份验证的Mailgun或Sendgrid-501用户名无效

Ruby on rails 用于身份验证的Mailgun或Sendgrid-501用户名无效,ruby-on-rails,mailgun,Ruby On Rails,Mailgun,我试图使用mailgun(或Sendgrid在此处输入代码)发送电子邮件,但收到以下错误: Net::SMTPAuthenticationError(用于身份验证的501用户名不是有效的电子邮件地址 我的设置非常简单: config.action_mailer.smtp_settings = { :user_name => ENV['MAILGUN_SMTP_LOGIN'], :password => ENV['MAILGUN_SMTP_PASSWORD']

我试图使用mailgun(或Sendgrid
在此处输入代码)发送电子邮件,但收到以下错误:

Net::SMTPAuthenticationError(用于身份验证的501用户名不是有效的电子邮件地址

我的设置非常简单:

  config.action_mailer.smtp_settings = {
     :user_name => ENV['MAILGUN_SMTP_LOGIN'], 
     :password => ENV['MAILGUN_SMTP_PASSWORD'],
     :domain =>  'mydomain.co'
     :address => ENV['MAILGUN_SMTP_SERVER'],
     :port => ENV['MAILGUN_SMTP_PORT'],
     :authentication => :plain,
     :enable_starttls_auto => true
   }

有什么想法吗?

似乎有一些自定义代码逻辑(我们使用Jumpstarter for Rails)覆盖了production.rb文件中的设置

在我的案例中,最有帮助的事情是查看
rails c
(在生产中),然后运行:

ActionMailer::Base.smtp_settings

我立即注意到设置与我指定的设置不一致。然后很容易找到真正的问题所在。

ENV['MAILGUN\u SMTP\u LOGIN']是有效的电子邮件地址吗?环境变量是否实际工作?用户名示例(真实数据):SENDGRID:apikeyLittle不太清楚,但从错误消息中可以看出,用户名必须是电子邮件格式的-x@y.com.Maybe通过telnet对SMTP服务器运行手动测试并尝试这些详细信息。Sendgrid有一个教程-我也在努力解决这个问题(同时使用Jumpstart)。您能详细说明您实际修复了什么吗?production.rb config.action\u mailer.smtp\u设置中的ENV['MAILGUN…]设置似乎不起作用。当我运行“ActionMailer::Base.smtp\u设置”时,用户名和密码为空在Heroku产品上。如果您计划按预期的方式使用Jumpstart,可能只需使用
EDITOR=vim rails凭据:edit
如果您和我一样,希望在ENV中保留凭据,请搜索`ActionMailer::Base.smtp\u settings=Jumpstart::Mailer.new(Jumpstart.config).settings`并对其进行注释(在我的Jumpstarter版本中,smtp_设置被覆盖了两次)