Почта PEAR, SMTP-сессии для информационных бюллетеней? - PullRequest
0 голосов
/ 28 марта 2012

при отправке новостных рассылок через SMTP-сервер с использованием почтового пакета PEAR, есть ли способ указать какое-то «повторное использование соединения», чтобы сценарию PHP не приходилось создавать новый сокет для SMTP-сервера для каждой отдельной почты?

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

Или SMTP не позволяетэто?

Ответы [ 3 ]

1 голос
/ 28 марта 2012

Почта PEAR кажется безнадежным случаем, но среда Zend решает эту проблему и сохраняет сокет SMTP открытым до тех пор, пока выполняется скрипт (и объект существует): http://framework.zend.com/manual/en/zend.mail.multiple-emails.html

1 голос
/ 28 марта 2012

Ну, я думаю, что лучшее решение - поместить каждого судьбу в черный углерод.Это гарантирует, что тот, кто получает почту, не видит другие почтовые адреса и является лучшим решением, чем отправка почты для каждого получателя.

Это возможно с пакетом php pear Mail.

0 голосов
/ 06 февраля 2013

Что вам нужно сделать, это установить параметр «persist». И только затем используйте фабричный метод один раз - тогда вы убедитесь, что это тот же сокет, который используется.

как то так:

static $mail;
if (!is_object($mail)) {
    $mail = Mail::factory($options['mail_method'], $params);
}
$res = $mail->send($to, $mime_headers, $body);

Если вы будете каждый раз вызывать mail :: factory, будет создан новый сокет. Вышеописанным способом вы создаете только один сокет.

...