2010-02-25 165 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