繁体   English   中英

处理提醒电子邮件的正确方法是什么?

[英]What is the proper way to handle reminder emails?

如果用户三天内未撰写任何新帖子,我的Rails应用程序将发送一封提醒电子邮件。 这被定义为计划的耙任务。

该任务是每天安排的。 当然,该任务仅应为每个用户触发一次。 用户应在第三天获得,然后再也不会。 在第十天,我可能会发送完全不同的电子邮件。

  • 如何在哪里以及如何让应用知道用户已收到提醒?
  • 在哪里,何时何地清除设置的“收到的提醒状态”(如果用户撰写新帖子)?
  • 如何处理多封提醒电子邮件(例如5、10、15天之后)?

我知道,添加一个名为列received_reminder用户表是一个选项。 当你火了任务,你会改变received_remindertrue和当用户创建一个新的岗位重新清理出来。 多个提醒将意味着每个提醒都有一个新列。 例如, received_reminder_5days等-DRY认为这似乎不可行,我怀疑通常可能会有更好的方法。

关于提醒电子邮件的最佳做法是什么?

您甚至不需要一个额外的字段。 您可以设置一个数组reminder_days = [3,5,10,15] (例如),然后每天检查一次用户最近一次发布的年龄d (以天为单位)(可以从数据库中获取) reminder_days的成员。 如果是,则发送提醒。 如果n是dicker_days数组中d的索引,则此提醒为第n+1reminder_days

要想真正安全的,即使在情况下,每天发出提醒邮件的过程interrputed,你可以存储已经在现场发送提醒的数量reminder_count 每当用户创建新帖子时,此字段都设置为0;每当发送提醒时,该字段就会增加。 使用此字段,您可以随时检查是否仍需要今天发送n==reminder_count (检查是否n==reminder_count )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM