2013-11-28 22 views
1

我們使用PHP Mailer類從我們的網站發送電子郵件。每次發送電子郵件需要大約17秒的時間。除了電子郵件發送剩餘頁面加載和執行正常。PHP Mailer在Linux中發送郵件太慢

Environment: SuSE Linux 11, Apache 2.4.1 and PHP 5.5 versions.

當PHP郵件功能發送郵件速度快,並在20毫秒內發送,但我們希望,因爲它是基於SMTP和垃圾郵件免費使用梅勒。檢查了所有Apache,PHP和系統日誌以查找錯誤。域名發生錯誤,因此我們將主機名修改爲後綴文件中的有效域,但無用。

不確定我們是否缺少任何SMTP或後綴配置。

檢查了所有相關的問題,但沒有得到合適的建議。任何建議,非常感謝。提前致謝!

回答

4

與phpmailer一起使用的傳出SMTP服務器可能會讓您陷入困境。要從運行php的主機進行測試,請嘗試在端口25上打開一個到SMTP服務器的telnet連接。它應該立即響應HELO或EHLO命令。是否,還是有延遲?

響應後,根據http://www.port25.com/how-to-check-an-smtp-connection-with-a-manual-telnet-session-2/上的說明繼續SMTP會話。如果任何命令後有延遲,這就是所謂的「tarpitting」。某些郵件服務器使用Tarpitting來捕獲可能發送垃圾郵件的其他郵件服務器(例如,在應該發送命令之前發送命令),或者放慢在短時間內嘗試太多郵件的郵件服務器。

+0

'它應該立即響應HELO或EHLO命令。是否有延遲? 對於telnet命令,連接大約需要15秒。我們正試圖連接到smtp.1and1.com和端口25. – Viswanath

+0

** @ mti2935 **,從wireshark我們觀察到延遲正在查詢DNS服務器的smtp.1and1.com的IP地址。 – Viswanath

+0

** @ mti2935 **,感謝您的建議。這可能很好地解決我們的延遲問題。絕對節省了我的一天。 – Viswanath