我正试着向我的应用程序的所有用户发送一封电子邮件。
为了做到这一点,我使用了whenever。
因此,我有一个/config/initializer/setup_mail.rb文件,其中包含我的配置smtp:
ActionMailer::Base.smtp_settings = {
:tls => true,
:address => "smtp.gmail.com",
:port => "587",
:domain => "miiaou.fr",
:authentication => :plain,
:user_name => "test.cicelle",
:password => "myPasswordGoogle"
}
ActionMailer::Base.default_url_options[:host] = "miiaou.fr"在我的user.rb模型中:
def self.mail_recap_semaine
@user = User.all
@user.each do |u|
UserMailer.mail_recap_semaine(u.email).deliver
end
end在user_mailer.rb中
def mail_recap_semaine(email)
mail(:to => email, :subject => "Weekly email from footyaddicts")
end在schedule.rb中(每隔10分钟,所以我可以看看它是否工作)
every 10.minutes do
runner "User.mail_recap_semaine"
end当我在rails控制台中运行User.mail_recap_semaine时,我得到了很多关于我的用户的信息,但是我没有收到任何邮件。
我怎么能看到bug在哪里呢?谢谢
发布于 2012-12-03 19:36:14
为了调试发送邮件时出现的错误或问题,您需要更改config/development.rb或config/production.rb的配置设置,以引发action mailer的错误,如下所示。
config.action_mailer.raise_delivery_errors = true
默认情况下,它被设置为false,因此您不会得到任何错误。
希望,这很有帮助。
谢谢,
Mani
发布于 2012-12-03 23:39:24
好吧,是:tls破坏了代码。
现在,我在rails控制台中的命令运行得很好,可以发送电子邮件,但and仍然不起作用。
crontab -l
# Begin Whenever generated tasks for: miiaou
0,10,20,30,40,50 * * * * /bin/bash -l -c 'cd /home/miiaou/miiaou && script/rails runner -e production '\''User.mail_recap_semaine'\'''
# End Whenever generated tasks for: miiaou我已经重新启动了服务器,但是我没有收到任何东西。
https://stackoverflow.com/questions/13672560
复制相似问题