我在rails 3.1.3上工作并使用delayed_job 3.0.1
我发现有效的电子邮件发件人的电子邮件有问题。
首先,我设置ActionMailer以使用Gmail (xxx.gmail.com)
,它可以正常工作。
在生产服务器上部署一段时间后。
我已设置新的ActionMailer以使用我的邮件服务器。
并在开发上测试它。然后我将代码部署到生产服务器。它工作得很好。
但有时会使用旧版Gmail (xxx.gmail.com)
作为发件人发送给客户的电子邮件。 (正确发送,没有错误)
PS。我使用rails_config gem来保持电子邮件设置。
我试着用运气调试了2天。
Settings.mail_sender
。它正确返回(“无回复”)有我的代码
# config/settings/production.yml
mail_sender: '"no-reply" <no-reply@myapp.com>'
# 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?
任何想法?感谢。
答案 0 :(得分:1)
我已经将我的应用程序部署到新服务器(使用相同的数据)问题已经消失。
然后我尝试关闭旧服务器一段时间,然后再次启动旧服务器。
问题也消失了。看起来像僵尸线程卡在我的旧服务器上非常混乱。
最后我发现了一个真正的问题,在我的服务器sry上,dump_job的进程被转移到转储问题上。