为什么这个邮递员不发邮件?(或者对调试有什么想法?)
在my_app/config/environments/development.rb中,我有以下代码:
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'my_app.com',
user_name: ENV['GMAIL_USERNAME'],
password: ENV['GMAIL_PASSWORD'],
authentication: 'plain',
enable_starttls_auto: true }然后,在我的本地计算机上,在~/..bash_profile中,我有以下代码:
export GMAIL_USERNAME='blah@my_app.com'
export GMAIL_PASSWORD='***'当我在终端中运行$ env时,我看到两个环境变量都被正确设置。
我还重新启动了rails服务器。
发布于 2018-11-11 23:22:00
所有这些答案都是很棒的,但是还有另外一个地方可以让您烧掉,特别是在调试的上下文中。
在development.rb中,确保设置了config.action_mailer.raise_delivery_errors = true
如果您的.deliver方法似乎没有问题,但您从未真正通过网络接收到电子邮件,那么您的传递方法可能会抛出异常,rails正在吞咽错误。如果您有一些简单的东西,比如配置错误的凭据,或者aws访问被拒绝的API错误,这是非常正确的。保存掉你的头发,并确保你已经打开raise_delivery_errors。它想告诉你一些事情但却不能。
https://stackoverflow.com/questions/20769589
复制相似问题