В PHP достаточно популярно использовать скрипты которые автоматизируют процесс отправки писем. В данной статье мы рассмотрим простой скрипт который выполняем отправку писем на почту получателей по средствам SMTP(Simple Mail Transfer Protocol). Было бы слишком просто ограничится только этим функционалом, скрипт поддерживает и вложения то есть, вы сможете прикрепить pdf, txt или doc файл в своем письме. 
Настройка скрипта довольно проста, от вас требуется только данные отправителя логин, пароль от электронной почты с которого будут отправляться письма.
Скрипт работает с классом km_smtp_class.php, класс хорош тем, что поддерживает разные протоколы SSL и TLS которые предоставляют защищенную передачу данных.
Вот и сам скрипт:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <?php /**  * Отправка почты через PHP (SMTP)  * Сделано в Live-code.ru  * Автор: Mowshon  * Дата: 11.11.11  */ // Подключаем SMTP класс для работы с почтой include_once('km_smtp_class.php'); // Конфигурационный массив $SenderConfig = array(     "SMTP_server"   =>  "smtp.mail.ru",     "SMTP_port"     =>  "25",     "SMTP_email"    =>  "user@mail.ru",     "SMTP_pass"     =>  "1111111",     "SMTP_type"     =>  "null" ); // Email получателя $Receiver = "admin@yahoo.com"; // Тема сообщения $Subject = "Отправляем письмо из PHP"; // Текст сообщения (в HTML) $Text = "Привет!<br /> Сообщение отправлено из скрипта <strong>Mowshon</strong> Сайт: http://live-code.ru"; // Вложение в письме - адрес к файлу $Attachment = ''; /* $mail = new KM_Mailer(сервер, порт, пользователь, пароль, тип); */ /* Тип может быть: null, tls или ssl */ $mail = new KM_Mailer($SenderConfig['SMTP_server'], $SenderConfig['SMTP_port'], $SenderConfig['SMTP_email'], $SenderConfig['SMTP_pass'], $SenderConfig['SMTP_type']); if($mail->isLogin) {     // Прикрепить файл     if($Attachment) {$mail->addAttachment($Attachment);}     // Добавить ещё получателей     $mail->addRecipient('user@mail.ru');     $mail->addRecipient('user@yandex.ru');     /* $mail->send(От, Для, Тема, Текст, Заголовок = опционально) */     $SendMail = $mail->send($SenderConfig['SMTP_email'], $Receiver, $Subject, $Text);     // Очищаем список получателей     $mail->clearRecipients();     $mail->clearCC();     $mail->clearBCC();     $mail->clearAttachments(); }  else {     echo "Возникла ошибка во время подключения к SMTP-серверу";  } ?> | 
Настройка скрипта лежим в основном на массиве $SenderConfig, тут мы должны указать SMTP:сервер, порт, логин и пароль от электронной почты. Опишем каждый ключ массива:
SMTP_server - адрес SMTP сервера (индивидуальный адрес для разных почт)
Почта Mail.ru: smtp.mail.ru порт: 25, 587 и 465 (с шифрованием SSL)
Почта Yandex: smtp.yandex.ru порт: 25, 587 465 (SSL порт)
Почта Rambler: mail.rambler.ru порт: 25, 587 465 (SSL порт)
Почта Yahoo: smtp.mail.yahoo.com SSL-порт: 465
(Если понадобится адрес smtp серверов которые нет в списке - пишите в комментариях)
SMTP_port - Мы его сверху уже описали для каждого smtp сервера.
SMTP_email - точнее было бы user но для ясности написал email, указываем адрес электронной почты.
SMTP_pass - Пароль от электронной почты которая была указана как значение в ключе SMTP_email
SMTP_type - По умолчанию NULL. Протокол по которому будут отправлены письма. Протоколы: SSL и TLS
Вложения в письмо можно добавить просо указывая полный адрес к файлу в переменную $Attachment (/var/patch/to/file/File.pdf)
>> Скачать скрипт
Если будут вопросы пишите их в комментариях ниже.
