Главная » Полезные статьи » Язык PHP » Функция mail в php. Отправляем сообщение
Распечатать статью

Функция mail в php. Отправляем сообщение

Работа с функцией mail в php — отправка сообщений по средствам php-скрипта.

Для отправки электронной почты используется функция mail (), которая имеет следующий вид:

boolean mail(to, subject, body [extra])

У функции четыре параметра, три из которых являются обязательными: адрес электронной почты получателя сообщения. Если необходимо направить письмо нескольким получателям, то их адреса должны быть перечислены в строке через запятую;

1. тема письма;
2. текст сообщения;
3. дополнительные заголовки сообщения.

Предыдущие параметры позволяют задать только основные свойства письма, но их ведь намного больше.
Дополнительные свойства указываются в последнем параметре и разделяются символами конца строки и перевода каретки (CR и LF).

mail()

Пример отправки почты

<?php // Подготовка переменных $MailTo = "recipient@mail_server.com"; $MailSubj = "Это тема сообщения"; $MailFrom = "your_name@your_server.com"; $MailCC = "namel@@mail_server.com,name2@@mail_server.com"; $Extra = "From: $MailFrom\r\nCc: $MailCC"; // Отправка почты if(mail($MailTo, $MailSubj, "Тело сообщения", $Extra)) print('Сообщение для '.$MailTo.' удачно отправлено!'); else print('Ошибка');

Все гениальное просто, и в отправке сообщений абсолютно ничего сложного нет.

Если вы создаете систему рассылки новостей, то перед вами может возникнуть одна серьезная проблема: если список большой, то рассылка может занять слишком много времени. Если выполнение сценария не уложится в 30 секунд (это значение установлено в качестве максимума по умолчанию), то его работа будет прервана. На практике оказывается, что при списке рассылки в 1000 записей 30 секунд не хватает, поэтому необходимо увеличить время выполнения сценария.

Изменять конфигурацию интерпретатора в данном случае будет не очень хорошим решением. Если тайм-аут слишком большой, то в системе может оказаться много зациклившихся сценариев, которые будут расходовать процессорное время. Лучшим вариантом будет увеличить тайм-аут для опреде-ленного сценария. Для этого можно воспользоваться функцией set_time_out(), которой передается новое значение тайм-аута в секундах для текущего сценария. Следующий пример устанавливает тайм-аут в 10 минут:

set_time_out(600)

Но слишком большой список рассылки приводит и к еще одной проблеме: рассылка новостей — занятие не из легких, потому что помимо процессорных ресурсов требуются и сетевые. В результате производительность сервера может серьезно упасть. Все ресурсы вряд ли вам удастся израсходовать, ведь ОС Unix и Windows являются многозадачными, то есть могут выполнять несколько задач одновременно, но производительность обработки Web-запросов может упасть.

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

Источник: internet-technologies.ru

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

Оставить комментарий

Похожие статьи