Welcome to php club

PHP FAQ from PHPclub.ru: MailFaq ...

Начало | Каталог | Изменения | НовыеКомментарии | Вам запрещён доступПользователи | Вам запрещён доступРегистрация | Вход:  Пароль:  

Работа с почтой. Часто задаваемые вопросы.


Содержание



Отправка почты через функцию mail() c SMTP-аутентификацией


Как отправить письмо через функцию mail(), если серверу нужен пароль для отправки писем?


Функция mail() не поддерживает SMTP-аутентификацию.


Для работы с серверами, которым требуется SMTP-аутентификация, используйте работу с сервером через fsockopen() или одну из готовых библиотек. Подробнее – в разделе Дополнительная информация.


Пример скрипта для отправки почты при помощи fsockopen() Вы можете найти в комментариях пользователей в документации к функции fsockopen() и на странице Mail Functions.


Количество получателей при отправке писем при помощи mail()


Есть ли ограничение на количество получателей, которых можно указать в функции mail()
mail («address1, address2, ..., address n», ...)


Формально, функция mail() количество получаетелей не ограничивает.


Но есть много поводов не пользоваться предложенной в вопросе возможностью:


  • Есть ограничения на размер заголовков почтового сообщения. В большинстве случаев будут отправлены не все письма, а только первые 10–20 сообщений.

  • Все получатели будут видеть адреса всех остальных получателей.

Если Вы хотите отправить письмо размером, к примеру, 1000 байт 5000 пользователям, и средний размер адреса электронной почты – 10 байт, то каждый получатель получит письмо размером более 50 КБ – основную массу письма займёт список получателей.


Решение: отправлять письма в цикле, вызывая mail() отдельно для каждого получателя.

  • На многих хостингах установлено ограничение на количество отправляемых с Вашего хостинг-аккаунта сообщений.

Некоторые хостеры таких ограничений технически не устанавливают, но в правилах пользования хостингом записывают, что массовые почтовые рассылки запрещены.


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


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


Решение: отправлять не сразу все почтовые сообщения, а порциями, по нескольку сообщений за раз, с некоторым промежутком между порциями.

Смотрите также: Журнал отправляемых сообщений
http://popoff.donetsk.ua/text/work/libs/mail/log/
Описание журнала даёт представление о том, как устроена и как работает подсистема массовой рассылки почтовых сообщений. Подсистема позволяет учитывать приоритеты почтовых сообщений и большое количество разнообразных ограничений на нагрузку почтового сервера. Сообщения рассылаются сессиями по нескольку сообщений за одну сессию.



Дополнительная информация


  • Работа с почтой. Ресурсы.
    Mail
    Ссылки на статьи о том, как работать с почтой в РНР, на разделы из документации, на стандарты и на готовые библиотеки для работы с почтой.

 
Комментариев нет. [Показать комментарии/форму]