我必须每周向所有用户发送有关最新发生的事情的电子邮件。我正在使用 ActionMailer 来完成其他邮寄任务,但是我不知道如何自动化每周的电子邮件。
更新
我发现任何时候gem 都可以用来安排 cron 作业。我想这可以用来发送我打算发送的每周电子邮件。仍在寻找如何使其与 ActionMailer 一起工作,一旦我找到解决方案就会更新
更新 2
到目前为止,这就是我使用gem时所做的:-
在 schedule.rb 中
every 1.minute do
runner "User.weekly_update", :environment => 'development'
end
在 users_mailer.rb 中
def weekly_mail(email)
mail(:to => email, :subject => "Weekly email from footyaddicts")
end
在 users.rb 中
def self.weekly_update
@user = User.all
@user.each do |u|
UsersMailer.weekly_mail(u.email).deliver
end
end
如果我尝试从控制台运行 User.weekly_update 我能够收到邮件。我正在开发模式下测试并使用 rvm。我检查了我的 crontab 文件,它有正确的东西。
但是我没有从应用程序自动收到任何邮件。任何线索可能是什么问题?
谢谢,