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 ответа
);
Code:
$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();
}
}
?>