我有一个rails项目,我想为其设置电子邮件通知。例如,如果记录X在5天后到期,则向所有者发送电子邮件。我有新用户注册时设置的电子邮件通知,但无法弄清楚如何根据条件发送电子邮件(如果x = y,然后发送电子邮件)。请帮忙!!
答案 0 :(得分: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设置为脚本!