PHPmailer — отправка писем через SMTP
PHPmailer — отправка писем через SMTP
Данный класс предназначен для отправки почты с помощью php, если по каким-то причинам, от вас не зависящим, вы не можете использовать функцию mail (). Мы будем использовать библиотеку PHPMailer (официальный сайт).Закачав PHPMailer на сервер мы можем начинать работать. Создадим конфигурационный файл config.php:
Code: |
<?php $__smtp = array( "host" => "smtp.yandex.ru", //smtp сервер "debug" => 2, //отображение информации дебаггера (0 - нет вообще) "auth" => true, //сервер требует авторизации "port" => 25, //порт (по-умолчанию - 25) "username" => "%username%",//имя пользователя на сервере "password" => "%password%",//пароль "addreply" => "your@email.com",//ваш е-mail "replyto" => "your@email.com" //e-mail ответа ); |
$mail->IsSMTP(); try { $mail->Host = $__smtp['host']; $mail->SMTPDebug = $__smtp['debug']; $mail->SMTPAuth = $__smtp['auth']; $mail->Host = $__smtp['host']; $mail->Port = $__smtp['port']; $mail->Username = $__smtp['username']; $mail->Password = $__smtp['password']; $mail->AddReplyTo($__smtp['addreply'], $__smtp['username']); $mail->AddAddress($to); //кому письмо $mail->SetFrom($__smtp['addreply'], $__smtp['username']); //от кого (желательно указывать свой реальный e-mail на используемом SMTP сервере $mail->AddReplyTo($__smtp['addreply'], $__smtp['username']); $mail->Subject = htmlspecialchars($subject); $mail->MsgHTML($content); if($attach) $mail->AddAttachment($attach); $mail->Send(); echo "Message sent Ok!</p>\n"; } catch (phpmailerException $e) { echo $e->errorMessage(); } catch (Exception $e) { echo $e->getMessage(); } } ?>