Emeron
Новичок
Здравствуйте, мне нужно отправить почту посредством SMTP, при помощи класса PHPMailer(). Я использую сервер smtp.gmail.com, подключаясь к 465 порту, при помощи SSL протокола, но письмо не отправляется, выводя ошибку "Could not connect to SMTP host."(нет подключения к SMTP адресу). Код ниже описывает мои действия:
В чём может быть проблема? Заранее, спасибо!
Код:
<?php
require_once( "class.phpmailer.php" );
$smtp_cfg["host"] = "smtp.gmail.com";
$smtp_cfg["port"] = 465;
$smtp_cfg["secure"] = "ssl";
$smtp_cfg["charset"] = "utf-8";
$smtp_cfg["auth"] = true;
$smtp_cfg["user"] = "********@gmail.com"; //Мой email на gmail.com
$smtp_cfg["pass"] = "********"; //Пароль там же
$smtp_cfg["mail"] = "[email protected]"; //Название тестового email, адресс которого будет указан, как адресс отправителя
$smtp_cfg["name"] = "test"; //Никнейм/Имя
$mail_subject = "Тестовый титул";
$mail_message = "Тестовое сообщение";
$email = "[email protected]"; //Адресс получателя
$login = "receiver"; //Имя получателя
/* класс: http://sourceforge.net/projects/phpmailer/ */
$mail = new PHPMailer( true );
$mail->IsSMTP();
try
{
$mail->CharSet = "{$smtp_cfg["charset"]}";
$mail->SMTPAuth = $smtp_cfg["auth"];
$mail->SMTPSecure = "{$smtp_cfg["secure"]}";
$mail->Host = "{$smtp_cfg["host"]}";
$mail->Port = $smtp_cfg["port"];
$mail->Username = "{$smtp_cfg["user"]}";
$mail->Password = "{$smtp_cfg["pass"]}";
$mail->AddReplyTo("{$smtp_cfg["mail"]}", "{$smtp_cfg["name"]}");
$mail->AddAddress("{$email}", "{$login}");
$mail->SetFrom("{$smtp_cfg["mail"]}", "{$smtp_cfg["name"]}");
$mail->Subject = "{$mail_subject}";
$mail->MsgHTML("{$mail_message}");
$mail->Send();
echo "Succeful!";
}
catch( phpmailerException $e )
{
echo $e;
}
catch( exception $e )
{
echo $e;
}
?>