2011-12-12 59 views
0

是否有可能以某種方式延遲與phpmailer發送的消息?Phpmailer延遲交付

我想要做的是在用戶執行給定操作(例如訂單)時發送電子郵件,但尚未交付,因爲這可能會引起用戶注意並阻止他訂購。

我知道我可以將電子郵件排隊在數據庫中,然後用cronjob發送它。但我不想要這個,因爲我不認爲這是最好的解決方案。在我看來,最好的解決方案是將電子郵件發送到smtp服務器(或本地郵件處理程序),並讓他們處理延遲。

+0

所以你實際上是問如何推遲在MTA級別的電子郵件? –

回答

0

你已經標記爲php和phpmailer - 但你的問題是關於MTA的具體問題。

很有可能寫一條記錄而不是發送一封電子郵件,然後調用一份工作稍後運行並將記錄轉換爲電子郵件 - 您只需編寫一些代碼來實現此功能。有很多方法可以實現(對不起,但我真的不喜歡DaveRandom的解決方案)。

大多數MTA可以設置爲批處理和有選擇地發送電子郵件,也適用節流限制,儘管我不知道應用明確延遲的電子郵件,但可以實現這一點。使用milters。但是,您沒有提供MTA的詳細信息。

+0

我的「解決方案」已經過去了,因爲你絕對正確,因爲它不是一個。它會起作用,但並不接近正確的方法。 – DaveRandom