0
我在轨道上工作3.1.3并使用delayed_job的3.0.1delayed_job的生产与错误的发送者发送电子邮件
我已经发现了一些东西错了电子邮件与有效的电子邮件发件人。
首先我将ActionMailer设置为使用Gmail (xxx.gmail.com)
,它工作正常。
在生产服务器上部署了一段时间之后。
我已经设置了新的ActionMailer来处理我的邮件服务器。
并在开发中进行测试。然后我将代码部署到生产服务器。它也可以正常工作。
但有时邮件发送到客户端通过使用我的旧的Gmail (xxx.gmail.com)
作为发件人。 (发送正确无误)
PS。我使用rails_config gem保留电子邮件设置。
我试图用运气来调试2天。
- 打印
Settings.mail_sender
多次在生产服务器的rails控制台中。它会正确返回(“无回复”) - 重新启动delayed_job。
- 重新启动服务器。
- 尝试将发件人记入日志。 (当发件人不是Gmail时,它会写入日志)。
- 检查我的项目那里没有任何gmail设置或数据库。
有我的代码
# config/settings/production.yml
mail_sender: '"no-reply" <[email protected]>'
# MyMailer.rb
default :from => Settings.mail_sender
def greeting(receiver)
@receiver = receiver
Delayed::Worker.logger.info "-------In inform client"
Delayed::Worker.logger.info "========inform client from #{Settings.mail_sender}"
mail(:to => "#{receiver.full_name} <#{receiver.email}>",
:subject => "Hello") do |format|
format.html
end
Delayed::Worker.logger.info inspect
end
# code I call the delayed_job
MyMailer.delay.greeting(client) if client.can_receive_email?
任何想法?谢谢。
不可能是一个测试服务,因为邮件需要在生产中发送并“窃取”该事件/发送邮件吗? – 2012-04-26 10:44:53
对不起。我不擅长英语。你什么意思?你能解释一下吗? – Rafaiel 2012-04-26 11:09:53