我正在努力获得" Devise Confirmable"电子邮件确认通过运行Rails 4.2的Heroku上的Sendgrid工作
我使用Devise Confirmable& amp;设置rails-devise-pundit启动应用程序Sendgrid选项。
在开发中运行Ubuntu 14.04我只需要设置SENDGRID_USERNAME
和SENDGRID_PASSWORD
环境变量,一切都在开发中完美运行。注册后会发送一封电子邮件,点击我收件箱中的链接会将我重定向到我本地计算机上运行的应用程序,然后按预期注册我。
我将完全相同的应用程序部署到Heroku,在这里我使用heroku配置设置了3个环境变量
SENDGRID_DOMAIN
(我的heroku app的网址)
SENDGRID_PASSWORD
(私人)
SENDGRID_USERNAME
(私人)
我得到同样的闪光灯说已经发送了"确认链接"。
heroku log
透露
Devise::Mailer#confirmation_instructions: processed outbound mail in 461.2ms
一切似乎都很完美,除了当应用程序在Heroku上运行时,电子邮件永远不会到达,但是当我在我的开发机器上运行它时。
切换到Mandrill并使用Mandrill重现完全相同的场景。
我没有在任何地方看到任何错误消息,在滚动日志时看不到任何其他问题,我该如何解决这个问题?
答案 0 :(得分:1)
我没有找到任何错误消息来帮助指出这一点,但问题出在Heroku上设置的DOMAIN_NAME
环境变量。
我不小心在域名前添加了https://
,因此我的heroku config
显示了DOMAIN_NAME: https://example.com
。删除https://
并将环境变量设置为example.com
后,使用Sendgrid或Mandrill时问题就会消失,确认电子邮件会按预期工作。