Rails actionmailer,在特定时间发送邮件

时间:2015-08-31 15:31:48

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2

我有一个带有actionmailer的rails应用程序,可以向客户发送提醒。所以我希望在特定的日期时间发送电子邮件。我怎么能这样做,或者来自控制器的任何动作?

1 个答案:

答案 0 :(得分:8)

您可以通过使用某种后台任务来实现此目标,例如resquedelayed_job

此外,像whenever这样的宝石(Ruby中的Cron作业)可以帮助你实现目标!

查看this tutorial,其中显示通过Active Jobdelayed_job发送带有后台处理器的电子邮件

更新

要在特定日期时间发送电子邮件,您可以deliver_later使用wait_until选项。

Notifier.welcome(User.first).deliver_later(wait_until: 10.hours.from_now)