Вопрос

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

Это было полезно?

Решение

Есть несколько причин, из-за которых это может быть медленным.

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

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top