Функция почты Php - PullRequest
       11

Функция почты Php

0 голосов
/ 02 ноября 2009

Я использую функцию php sendmail () в своих проектах. Когда я отправил выше 3 или более сообщений, обработка становится слишком медленной. В чем проблема? Если я использую PHPMailer, эта проблема решится?

Ответы [ 2 ]

1 голос
/ 02 ноября 2009

Есть несколько вещей, которые могут вызывать медленную работу.

Возможно, вы ожидаете полной отправки каждого письма, прежде чем sendmail () вернется. Это будет означать открытие SMTP-сокета, общение с другим почтовым сервером, отправку электронной почты и повторное закрытие сокета.

У нас есть система, которая отправляет довольно много писем в пакетном режиме, и для этого мы используем PHPMailer. Мы открываем сокет один раз, отправляем множество сообщений, затем снова закрываем его, и мы получаем хорошую производительность (он может отправить несколько сотен писем за один раз).

Если ваше сообщение совпадает со всеми получателями, я бы порекомендовал отправить их все по одному электронному письму и всем BCC, так как это отнимает много давления у вашего сценария.

Еще одна вещь, которую нужно проверить - это локальные антивирусные сканеры. Раньше у нас были проблемы со сканером исходящей электронной почты, который останавливал все это. Стоит посмотреть.

1 голос
/ 02 ноября 2009

Кажется, к вашим функциям mail () применяются некоторые ограничения к sendmail или некоторые проблемы. Попробуйте отправить почту через SMTP, например, используя это: http://swiftmailer.org/ и посмотрите, решит ли это вашу проблему.

...