Постоянное SMTP-соединение в PHPMailer - PullRequest
11 голосов
/ 25 февраля 2010

Как включить постоянные SMTP-соединения в PHPMailer?

Я буду отправлять много писем, поэтому при постоянных соединениях, вероятно, я получу прирост производительности.

Ответы [ 4 ]

18 голосов
/ 27 марта 2011

Нам действительно все равно, если ваш сервер попадет в черный список, верно? Это как добиться того, что вы хотите. Просто установите true свойство SMTPKeepAlive и после массовой отправки неявно вызовите метод SmtpClose().

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

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

$phpMailer->SmtpClose();
2 голосов
/ 25 февраля 2010

Оптимизируя отправку электронных писем, вы можете открыть себя как спам, и веб-серверы заблокируют ваш IP.

Сколько писем вы отправляете? Может быть, лучше ограничить отправку электронных писем, чем ускорить.

1 голос
/ 25 февраля 2010

Что вы подразумеваете под постоянным SMTP-соединением?

Сначала если вы отправляете Email , вы подключены к Серверу, пока он не завершит работу. Во-вторых , если вы хотите отправить много электронных писем (возможно, ваш сервер будет в черном списке), вы пишете loop в своем PHP коде, который выбирает все адреса электронной почты и передает их phpmailer и, наконец, отправляет их. Вот как я буду отправлять массовые письма.

0 голосов
/ 09 февраля 2016

Постоянное SMTP-соединение подходит, когда вы отправляете большую часть и хотите отправлять быстрее, поддержание SMTP-соединения в активном состоянии для определенного количества отправлений электронной почты - хорошая идея для быстрой отправки. Часто чередующееся SMTP-соединение внутри петли может быть способом более контролируемой отправки во время сеансов IP-потепления. https://www.mumara.com/persistent-smtp-connection-and-non-persistent-loop/

...