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_USERNAME
和 SENDGRID_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 时问题消失,确认电子邮件按预期工作。
我正在尝试获取 "Devise Confirmable" 电子邮件确认以通过 Heroku 上的 Sendgrid 运行 Rails 4.2
我使用 Devise Confirmable 和 Sendgrid 选项设置了 rails-devise-pundit 入门应用。
运行 on Ubuntu 14.04 在开发中我只需要设置 SENDGRID_USERNAME
和 SENDGRID_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 时问题消失,确认电子邮件按预期工作。