我的设计电子邮件在开发中运行良好。
但是现在我已经推送到Heroku而且正在使用sendgrid插件,它们不会被发送。我没有收到错误。它似乎发送得很好,只是它从未真正到达我的收件箱。
这是我的config/environment/production.rb
文件:
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = false
config.action_mailer.default :charset => "utf-8"
config.action_mailer.default_url_options = { :host => 'http://myapp.herokuapp.com' }
config.action_mailer.smtp_settings = {
:user_name => ENV["SENDGRID_USERNAME"],
:password => ENV["SENDGRID_PASSWORD"],
:address => 'smtp.sendgrid.net',
:domain => 'myapp.herokuapp.com',
:port => 587,
:authentication => :plain,
:enable_starttls_auto => true
}
我检查了Heroku上的那些配置变量,它们返回了有效的结果。
有什么想法吗?
P.S。我还没有指向Heroku App的域名,我只想先用Heroku设置测试它。
答案 0 :(得分:6)
一切看起来都不错,您是否检查了是否配置了sendgrid帐户?
如果您使用的是heroku,请转到sendgrid面板完成设置,只需访问应用程序配置文件并在资源(这是默认设置)下,您应该看到sendgrid插件,单击它并确保您拥有一切安排。在这种情况下,它会要求您设置模板,但您可以跳过'此
希望这有帮助!
答案 1 :(得分:1)
这也发生在我身上,或类似的东西。我使用这些电子邮件只发送到一个电子邮件地址,用于我的个人通知。
事实证明,电子邮件地址是第一次“退回”,并在Sendgrid被“抑制”以供将来发送。我会检查“抑制”标签,以确保没有发生在你身上。