1

我有一个 Rails 项目,我想为其设置电子邮件通知。例如,如果记录 X 将在 5 天后过期,请向所有者发送电子邮件。我在新用户注册时设置了电子邮件通知,但不知道如何根据条件发送电子邮件(如果 x = y,则发送电子邮件)。请帮忙!!

4

1 回答 1

2

您可以为此使用 rake 任务。将其设置在 cron 中以每天执行一次。

您可以修改和使用的示例 rake 任务代码:

task :send_reminds => :environment do
  Record.all.each do |remind|
    UserMailer.remind_email(record).deliver if record.expires_in(5.days)
  end
end

制作新的 bash 脚本,把它放在你想要的任何地方:

#!/bin/bash
cd /your/path/to/rails/app
rake send_reminds

用于crontab -e将您的任务添加到 crontab。添加这一行:

0 0 * * * /your/path/to/bash/script

它将在每天午夜执行。

请记住将 chmod +x 设置为脚本!

于 2012-04-09T17:38:04.830 回答