2010-02-25 169 views

回答

15

如果你的服務器被列入黑名單,我們真的不在乎,對吧?這是如何實現你想要的。只需設置爲trueSMTPKeepAlive屬性,並在批量發送後,隱式調用SmtpClose()方法。當您發送體積和要發送更快,保持SMTP連接存活電子郵件的具體數量

$phpMailer = New PHPMailer(); 
$phpMailer->isSMTP(); 
$phpMailer->SMTPKeepAlive = true; 

for (...) { 
    // Send your emails right away 
    [ ... ] 
} 

$phpMailer->SmtpClose(); 
+0

非常感謝Mauro!這是我正在尋找的答案。 – 2011-04-09 05:11:25

+1

嗨,毛羅我使用了相同的代碼$ phpMailer-> SMTPKeepAlive = true。 但沒有增加郵件發送速度。 這行代碼在我的情況下不會改變性能。 如果您有其他問題,請給我建議。 – 2015-08-17 10:47:42

+1

@maheshkajale,'$ phpMailer-> SMTPKeepAlive = true'只會避免關閉第一封電子郵件上的連接,所以不必在下一次打開連接。但是,無論如何,服務器可能會關閉連接,您無法更改該連接。如果您需要更快地發送電子郵件,我建議您使用基於API的電子郵件平臺,如Mandrill或Mailgun,您可以在單個請求中發送數百封電子郵件。然而,如果你正在嘗試做垃圾郵件,只是忘記我幫助你,去你的房間和事情,你做了什麼。 – Mauro 2015-08-17 14:36:25

2

你是什麼意思持續SMTP連接?

首先如果您發送電子郵件直到它完成的工作,你連接到服務器。 其次,如果你想發送許多電子郵件(也許您的服務器將在黑名單), 你寫一個PHP代碼,whitch獲取所有電子郵件地址還有它們傳遞給PHPMailer的和finaly sendts他們。 這就是我將如何發送大量郵件。

+0

但我需要在PHPMailer的某個地方啓用此功能,因爲它可以在發送的每封電子郵件上連接和斷開連接 – 2010-02-25 12:47:15

+0

好的,好的。我明白。 – 2010-02-25 12:47:50

+0

我的服務器被識別並且(幾乎)有必要的東西不被列入黑名單。 我們定期發送電子郵件,並擁有龐大的客戶羣,這一規律也使我們能夠在接收服務器中排名很好。 – 2010-02-25 12:50:53

2

通過優化電子郵件的發送,您可能會將自己打開爲垃圾郵件並導致Web服務器阻止您的IP。

您發送了多少封電子郵件?實際控制發送的郵件而不是加快速度可能會更好。

+0

目前,我正在發送2500封電子郵件。 – 2010-02-25 12:45:31

+0

是的,我同意節流。每小時限制到500-1000應避免被視爲垃圾郵件的可能性 – Cez 2010-02-25 14:21:40