我的网站托管在Heroku上,我安装了Sendgrid Add-On,因为它看起来几乎是完美的——但到目前为止,邮件功能都没有工作。我已经阅读了文档,它明确表示只需要添加附加组件,是否需要更多配置才能让Devise正常工作?
当我选择“发送新密码”时,我得到一个404页面,这让我觉得还有其他问题。比如说,Sendgrid如何知道/在哪里使用预安装的Devise模板?
谢谢。
我的网站托管在Heroku上,我安装了Sendgrid Add-On,因为它看起来几乎是完美的——但到目前为止,邮件功能都没有工作。我已经阅读了文档,它明确表示只需要添加附加组件,是否需要更多配置才能让Devise正常工作?
当我选择“发送新密码”时,我得到一个404页面,这让我觉得还有其他问题。比如说,Sendgrid如何知道/在哪里使用预安装的Devise模板?
谢谢。
今天早上我刚刚设置了Devise和SendGrid,没有遇到任何问题。我将重复我所采取的步骤。
首先,安装Devise和SendGrid。恭喜你,你已经完成了;)
接下来,在生产环境中,将以下内容添加到您的文件中:
config/initializers/devise.rb
:
config.mailer_sender = "mail-to-send@from.com"
配置Rails的ActionMailer以使用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
查看实时日志。
如果您仍然遇到错误,请发布您的日志。
祝您愉快!
我已经使用了sendgrid Add-On,它应该是一键安装的。就像你说的那样,甚至文档也这么说:
使用ActionMailer的Rails应用程序只需安装Add-On后无需进行任何设置即可正常工作。
所以,这让我想到可能出现了其他问题。你是否尝试过使用heroku logs
命令查看应用程序是否记录了任何错误?
rake routes | grep devise
验证您的路由。Devise使用您的ActionMailer。 - Chloe