带有SendGrid的Rails ActionMailer
-
08-10-2019 - |
题
我正在使用sendgrid在Heroku上发送电子邮件...
到目前为止,当它在Heroku上效果很好的时候,在我当地的主人上效果很好,但它失败了。
现在,我在这里安装了sendgrig,config/setup_mail.rb:
ActionMailer::Base.smtp_settings = {
:address => "smtp.sendgrid.net",
:port => "25",
:authentication => :plain,
:user_name => ENV['SENDGRID_USERNAME'],
:password => ENV['SENDGRID_PASSWORD'],
:domain => ENV['SENDGRID_DOMAIN']
}
什么是Heroku/SendGrid的方法,可以确保我的邮件在Dev中工作。这个setup_mail.rb文件是一件好事吗?应该在env文件中吗?还有其他想法吗?
谢谢
解决方案
使用Config/Environments/[Development.rb |如上所述,production.rb]听起来像是它的路。只需将ActionMailer配置放入其中一个文件中,然后将其更改以适合开发|生产环境。
您还可以通过发出以下命令来找到Heroku使用的SendGrid凭据:
Heroku配置 - 长
这些凭据用于所有SendGrid身份验证(SMTP Auth,网站登录以查看统计信息等,API访问)
- 乔
sendgrid
其他提示
只需在您的开发环境上设置环境变量 SENDGRID_USERNAME
, SENDGRID_PASSWORD
, , 和 SENDGRID_DOMAIN
. 。然后它将起作用。
您可以从Heroku应用程序获得正确的值。打开Heroku控制台并获得的价值 ENV['SENDGRID_USERNAME']
等等。
或者只是在本地使用不同的SMTP设置。或使用sendmail之类的东西。
不隶属于 StackOverflow