我的网站托管在Heroku上,我安装了Sendgrid附加组件,因为它看起来好得令人难以置信 - 但到目前为止,没有一个电子邮件功能正常工作。我已经阅读了文档,它清楚地说只是添加 - 添加 - 是否需要更多配置才能让Devise工作?
当我选择“给我发新密码”时,我会得到一个404页面,让我觉得还有更多内容。就像Sendgrid如何知道/在哪里使用预先安装的Devise模板一样?
THX。
答案 0 :(得分:51)
我今天早上刚刚设置了Devise和SendGrid,没有任何问题。我要恢复我采取的步骤。
首先,安装Devise和SendGrid。恭喜你,你已经做到了;)
然后,要进行制作,请将其添加到您的文件中:
config/initializers/devise.rb
:
config.mailer_sender = "mail-to-send@from.com"
设置Rails ActionMailer to use SendGrid
config/environments/production.rb
config.action_mailer.default_url_options = { :host => 'your.websitedomain.com' }
ActionMailer::Base.smtp_settings = {
:user_name => ENV['SENDGRID_USERNAME'],
:password => ENV['SENDGRID_PASSWORD'],
:address => "smtp.sendgrid.net",
:port => 587,
:enable_starttls_auto => true,
:authentication => :plain,
:domain => "yourdomain.com"
}
一切都很好用。注册确认,密码恢复......
此外,您应该使用Logging Expanded(它是免费的!)并使用heroku logs --tail
检查您的日志(实时)。
如果仍然出现错误,请发布日志。
祝你有个美好的一天!
答案 1 :(得分:1)
我已经使用了sendgrid附加组件,它确实应该正常工作。就像你说的那样,即使the docs这么说:
使用ActionMailer的Rails应用程序将正常工作,安装加载项后无需进行任何设置。
所以,这让我觉得还有其他事情正在发生。您是否尝试使用heroku logs
命令查看您的应用程序是否记录了任何错误?