2011-12-12 34 views
0

是否有可能以某种方式延迟与phpmailer发送的消息?Phpmailer延迟交付

我想要做的是在用户执行给定操作(例如订单)时发送电子邮件,但尚未交付,因为这可能会引起用户注意并阻止他订购。

我知道我可以将电子邮件排队在数据库中,然后用cronjob发送它。但我不想要这个,因为我不认为这是最好的解决方案。在我看来,最好的解决方案是将电子邮件发送到smtp服务器(或本地邮件处理程序),并让他们处理延迟。

+0

所以你实际上是问如何推迟在MTA级别的电子邮件? –

回答

0

你已经标记为php和phpmailer - 但你的问题是关于MTA的具体问题。

很有可能写一条记录而不是发送一封电子邮件,然后调用一份工作稍后运行并将记录转换为电子邮件 - 您只需编写一些代码来实现此功能。有很多方法可以实现(对不起,但我真的不喜欢DaveRandom的解决方案)。

大多数MTA可以设置为批处理和有选择地发送电子邮件,也适用节流限制,尽管我不知道应用明确延迟的电子邮件,但可以实现这一点。使用milters。但是,您没有提供MTA的详细信息。

+0

我的“解决方案”已经过去了,因为你绝对正确,因为它不是一个。它会起作用,但并不接近正确的方法。 – DaveRandom