Heroku Sendgrid 不发送也不显示错误?

Heroku Sendgrid not sending and not showing errors?

我正在尝试获取 "Devise Confirmable" 电子邮件确认以通过 Heroku 上的 Sendgrid 运行 Rails 4.2

我使用 Devise Confirmable 和 Sendgrid 选项设置了 rails-devise-pundit 入门应用。

运行 on Ubuntu 14.04 在开发中我只需要设置 SENDGRID_USERNAMESENDGRID_PASSWORD 环境变量,一切都在开发中完美运行。注册会发送一封电子邮件,然后单击收件箱中的 link 会将我重定向到本地计算机上的应用程序 运行 并按预期进行注册。

我将完全相同的应用程序部署到 Heroku,这里我使用 heroku config 设置了 3 个环境变量 SENDGRID_DOMAIN(我的 heroku 应用的 url)

SENDGRID_PASSWORD(私人)

SENDGRID_USERNAME(私人)

我得到同样的闪光说 "confirmation link has been sent"。

heroku log 揭示 Devise::Mailer#confirmation_instructions: processed outbound mail in 461.2ms

一切似乎都很完美,除了当应用程序在 Heroku 上 运行 时,电子邮件永远不会到达,但是当 运行 在我的开发机器上时它会。

切换到 Mandrill 并使用 Mandrill 重现了完全相同的场景。

我在任何地方都没有看到任何错误消息,并且在滚动日志时看不到任何其他问题,我该如何解决这个问题?

我没有找到任何错误消息来帮助指出这一点,但问题出在 Heroku 上设置的 DOMAIN_NAME 环境变量。

不小心在域名前加了https://,所以我的heroku config就暴露了DOMAIN_NAME: https://example.com。删除 https:// 并将环境变量设置为 example.com 后,使用 Sendgrid 或 Mandrill 时问题消失,确认电子邮件按预期工作。