我想通过网络应用发送电子邮件,例如,任务管理员的提醒,生日提醒......我想编制日期和时间,然后收到当时发送的电子邮件。
我认为我有两种选择:使用cron或发送带有未来时间戳的电子邮件。
使用cron涉及运行命令(将查询数据库)每两分钟,五分钟检查是否有任何要发送的电子邮件。或者,另一种方式,当我保存新提醒时,在指定的时间放置一个新的crontab任务(通过从Web应用程序执行系统命令)。使用第一个选项,我认为服务器负载将过多。有了第二个选项,我将有数百个crontab任务,对我来说看起来很脏。
也许我可以在创建提醒的那一刻发送电子邮件,但将电子邮件时间戳更改为将来的日期和时间。我知道有些电子邮件服务器可以管理它(比如Mercur for Windows),但它是标准吗?我将使用我的Gmail帐户完成这项工作。而且,使用此解决方案,我将无法取消提醒,因为电子邮件是在我创建提醒时发送的。
我可以使用PHP或Ruby(RoR)作为服务器语言,因此语言并不重要,因为它们都可以发送电子邮件和调用系统命令。如果解决方案需要编写脚本,我可以使用bash脚本,Perl,Python ......(服务器是一个Linux盒子)。
您认为哪种方法是解决此问题的最佳方法?
我为我可怜的英语道歉。提前谢谢。答案 0 :(得分:3)
我不知道你是否研究过这个问题,但是既然你使用了GMail,我认为你可能会感兴趣。 Google日历具有以下功能:
这将显示一个设置列表,您可以通过发送电子邮件来设置通知。
Google的API应该允许您访问日历以将其与您的应用程序同步。如果它设置为向您发送电子邮件,它将为您处理所有电子邮件。
答案 1 :(得分:2)
拥有一个cron是一个更好的选择,然后发送带有未来日期戳的电子邮件。设置一个定期运行的cron,它可以发送电子邮件。
我们有类似的问题。
https://stackoverflow.com/questions/215736/how-do-i-send-bulk-mail-to-my-users-in-a-generic-fashion
阅读那些你会得到一些想法的人。
答案 2 :(得分:2)
而不是为每个提醒(或通知,无论如何)提供cron作业,您可以在文件中写入所有内容并定期(例如每5分钟)调用一个脚本(例如php脚本)来读取文件并检查是否发送通知......
您将拥有该功能而无需为每个项目创建一个cron-job ...
那会是一个解决方案吗?问候