我们有一个 PHP 电子商务应用程序,只要成功购买,它就会发送通知电子邮件。我们希望在购买后 2 周内发送其中一份通知。
有两种方法:
- 使用 cron、php 等设置排队系统。这还将涉及修改我们正在使用的第 3 方 php 电子商务应用程序。
- 找到一种方法,让 sendmail 将其排队,以便在添加后两周内投递。
我想知道的是,是否有一个标头或类似的聪明的东西,我可以在消息上设置以延迟发送它。也许有一个 sendmail 插件可以实现此目的?
基本上,我正在寻找一种更不干涉的方式来传递消息,而不是破解 php,因为那将是一项相当大的工作,而对 sendmail 进行一些修改可能会容易得多。
有关服务器上 sendmail 的联机帮助页指出它是某种后缀包装器:
sendmail - Postfix 到 Sendmail 的兼容性接口
答案1
这可以做到吗?有可能,但对 sendmail 的修改和修改可能比 PHP 代码更多。
然而,经过一番挖掘,我发现了这一点:“如何延迟邮件递送”
缺点是您必须有第二个 SMTP 服务器在队列模式下运行,并且您仍然需要调整代码才能使其工作。
因此,我的建议是创建一个小型 php 或 javascript 小程序,按照预定的时间表(每天通过 cron)查询数据库中两周前进行的所有购买,并向该客户发送电子邮件。这样,您就可以使用现有的服务器,而不必触及任何代码。