我有一个使用Devise,Heroku和Sendgrid的rails 4.1.8 app。发送电子邮件是应用功能的一部分。我在笔记本电脑上开发的所有内容都能完美地构建应用程序。电子邮件正在发送和接收......一切都很好。
我git克隆了桌面上的repo,我收到了上述错误。
我使用Figaro gem设置了所有的ENV变量。当我在我的开发笔记本电脑上运行heroku config
时,会出现所有正确的值和变量。
这是我的config/initializers/setup_mail.rb
文件:
if Rails.env.development? || Rails.env.production?
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
address: 'smtp.sendgrid.net',
port: '587',
authentication: :plain,
user_name: ENV['SENDGRID_USERNAME'],
password: ENV['SENDGRID_PASSWORD'],
domain: 'heroku.com',
enable_starttls_auto: true
}
end
我正在使用Figaro gem,并在我的开发笔记本电脑上创建了一个config/application.yml
文件,其中包含我的安全ENV变量。由于此文件位于.gitignore
列表中,我还在台式计算机(第二台计算机)中创建了一个config/application.yml
文件,如下所示:
SENDGRID_USERNAME: <%= ENV["SENDGRID_USERNAME"] %>
SENDGRID_PASSWORD: <%= ENV["SENDGRID_PASSWORD"] %>
SECRET_KEY_BASE: <%= ENV["SECRET_KEY_BASE"] %>
DEVISE_SECRET_KEY: <%= ENV["DEVISE_SECRET_KEY"] %>
同样,在我的开发笔记本电脑上,一切都在开发中完美运行,但在我的第二台电脑上,我收到了这个错误:
Net::SMTPFatalError in MessagesController#create
550 Cannot receive from specified address <support@******.com>: Unauthenticated senders not allowed
谢谢!
答案 0 :(得分:0)
您是否尝试过使用SendGrid Gem?
Unauthenticated senders not allowed
明确表示您正在连接到SendGrid,但在发送邮件之前没有尝试发出AUTH LOGIN
命令。我看到你定义了authentication
,但有些东西使它不能实际启用。