Rails,会话过期后如何根据用户状态投递动态邮件

Rails, How to deliver dynamic email depending on user status after session expiration

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

所以这里有三个问题?

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

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

- 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.