2009-11-02 3 views
0

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

ответ

1

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

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

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

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

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

+0

Спасибо, рих. Я пытался отправить почту через BCC, но тот же результат. – sathish

+0

BCCing не всегда желателен, так как все адреса электронной почты будут по-прежнему присутствовать в КАЖДОМ сообщении. Поэтому, если кто-то захочет спамить ВСЕ ваших клиентов, он легко это сделает. –

+0

Хмм, я так не думаю. Если вы все CC, то уверены, что все они смогут увидеть список, но BCC (Blind Carbon Copy) не должен включать информацию о ком-либо еще в списке BCC. –

1

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

+0

спасибо. Мне нужно построить управление рассылкой новостей, поэтому мне нужен скрипт, который быстрее, я попробую swiftmailer. – sathish

+0

Хорошо;) Не забудьте один из ответов после того, как вы разрешите свое дело. –

+0

Я использовал swiftmailer на своем веб-сайте, я смог отправить более 500 быстро. Он решил мою проблему, и у нее есть много вариантов. Спасибо вам всем. – sathish