如何在Rails中使用Heroku和Sendgrid配置Devise电子邮件?
发布时间:2020-12-17 01:18:30 所属栏目:百科 来源:网络整理
导读:我有一个简单的Rails 3.2.7应用程序,添加了Devise,并添加了Sendgrid部署到Heroku.它在heroku上工作正常,除非需要进行密码检索,需要发送电子邮件.从我读过的所有帖子中我怀疑我以某种方式错误地设置了邮件参数.任何建议表示赞赏. 对于config / environments /
我有一个简单的Rails 3.2.7应用程序,添加了Devise,并添加了Sendgrid部署到Heroku.它在heroku上工作正常,除非需要进行密码检索,需要发送电子邮件.从我读过的所有帖子中我怀疑我以某种方式错误地设置了邮件参数.任何建议表示赞赏.
对于config / environments / production.rb,我添加了 config.action_mailer.default_url_options = { :host => 'smtp.sendgrid.net'} 我添加了config / initializers / devise.rb config.mailer_sender = "mail-to-send@from.com" 对于config / environments.rb我添加了 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 } 解决方法
所以,你的问题是你引用了错误的环境变量. Heroku将您的SendGrid凭证存储在ENV [‘SENDGRID_USERNAME’]和ENV [‘SENDGRID_PASSWORD’]中.您使用实际的用户名和密码作为密钥名称.
这将有效: ActionMailer::Base.smtp_settings = { :address => 'smtp.sendgrid.net',:enable_starttls_auto => true } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |