每周都会发送电子邮件

时间:2012-12-02 18:52:40

标签: ruby-on-rails 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在哪里? 感谢

2 个答案:

答案 0 :(得分:0)

我命令调试发送邮件时出现的错误或问题,您需要更改config / development.rb或config / production.rb的配置设置,以便为动作邮件程序引发错误,如下所示。

config.action_mailer.raise_delivery_errors = true

默认情况下,它设置为false,因此您不会收到任何错误。

希望,这有帮助。

谢谢,

摩尼

答案 1 :(得分:0)

好的,是:tls打破了代码。

所以现在,我在rails控制台中的命令运行完美并发送电子邮件但是什么时候仍然无效。

crontab -l <​​/ p>

# 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

我已重新启动服务器,但我没有收到任何信息。