Rails,如何在会话到期后根据用户状态发送动态电子邮件

时间:2017-08-21 05:38:05

标签: ruby-on-rails ruby-on-rails-5 sendgrid email-delivery sendgrid-rails

所以我有一个类似于电子商务网站的网站。我希望在会话到期后(最好在到期后30分钟)向用户发送一封电子邮件,其中包含动态内容 - 关于他们的状态,即他们的购物车中是否有商品,是否未付款,或者是否付款很成功。

所以这里有三个问题?

  • 有哪些不同的方法来实现这一目标?
  • 是否可以在会话到期30分钟后运行一段代码?
  • 是否可以根据用户状态在邮件传递中添加if-else语句?

目前,我正在使用Rails 5.0.0和sendgrid来发送电子邮件。 Sendgrid的代码如Mail.deliver_after(30分钟)。但我似乎无法提出if else条件来使电子邮件的内容动态化。此外,我希望在会话到期后30分钟后发送电子邮件。

1 个答案:

答案 0 :(得分:1)

有哪些不同的方法来实现这一目标?

- Using background job. Create asynchronous jobs with run time and priority.

是否可以在会话到期30分钟后运行一段代码?

- Use delayed_job gem or use some other background job gems. Using asynchronously

是否可以根据用户状态将if-else语句添加到邮件传递中?

 - Called mail delivery using background job so you can send mail whenever you want.