Не могу отправить почту через PHPMailer

Это мой php-код

require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();  // telling the class to use SMTP
$mail->Host     = "smtp.gmail.com"; // SMTP server

$mail->From     = "[email protected]";
$mail->AddAddress("[email protected]");

$mail->Subject  = "First PHPMailer Message";
$mail->Body     = "Hi! \n\n This is my first e-mail sent through PHPMailer.";
$mail->WordWrap = 50;

if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
}

Мой php.ini имеет эту конфигурацию почты [функция почты]

SMTP = smtp.gmail.com
smtp_port = 465
sendmail_from [email protected]

Моя ошибка

Ошибка следующего адреса отправителя: [email protected] Сообщение не было отправлено. Ошибка почтовой программы: ошибка следующего адреса отправителя: [email protected] Ошибка SMTP-сервера: 5.7.0 Сначала необходимо выполнить команду STARTTLS. i1sm13250552pbv.49

пожалуйста, помогите мне. заранее спасибо......


person Always Sunny    schedule 18.05.2012    source источник
comment
если вы в настоящее время запускаете этот код с локального хоста, это может быть вашей проблемой   -  person Kristian    schedule 18.05.2012
comment
Возможный дубликат: stackoverflow.com/q/5265692/259457   -  person Travesty3    schedule 18.05.2012
comment
Попробуйте изменить $Host на ssl://smtp.gmail.com.   -  person Marc B    schedule 18.05.2012
comment
vishalkumar.in/2009/06/php-mail -using-gmail-smtp-tutorial   -  person sumit    schedule 18.05.2012
comment
Я попробовал ssl://smtp.gmail.com, но снова показывает SMTP Error: Could not connect to SMTP host. Message was not sent.Mailer error: SMTP Error: Could not connect to SMTP host.   -  person Always Sunny    schedule 18.05.2012
comment
Вам тоже не хватает $mail->SMTPAuth = true;? $mail->SMTPSecure = "ssl", логин и пароль??! :D   -  person Junior Mayhé    schedule 14.06.2012


Ответы (4)


smtp.gmail.com требует, чтобы вы использовали SSL и порт 587 или 465.

person Chords    schedule 18.05.2012

во-первых, убедитесь, что у вас установлена ​​последняя версия phpmailer()

загрузите его с https://github.com/PHPMailer/PHPMailer.

открыть class.phpmailer.php редактором php

заменить все слова "HELO" на "EHLO"

EHLO (не HELO) должен быть предоставлен клиентом перед AUTH. (ДЛЯ ПОЧТЫ GOOGLE)

это будет решено.

person Fatihd    schedule 14.08.2013

попробуйте phpgmailer один раз http://www.thedanglybits.com/2006/10/13/update-send-email-with-php-and-gmail-hosted-for-your-domain/

person sumit    schedule 18.05.2012

Измените свой хост на

ssl://smtp.gmail.com:465
person Franco    schedule 24.01.2013