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

Sua*_*ado 6 ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-4

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

K M*_*lam 8

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

此外,像任何时候的宝石(Ruby中的Cron工作)会帮助你实现目标!

看一下本教程,该教程显示通过活动作业delayed_job发送带有后台处理器的电子邮件

更新

要在特定日期时间发送电子邮件,您可以将deliver_laterwait_until选项一起使用.

Notifier.welcome(User.first).deliver_later(wait_until: 10.hours.from_now)
Run Code Online (Sandbox Code Playgroud)