Код PHPmailer прекрасно работает для отправки на адреса электронной почты не-приложений Google, но не работает для адреса приложений Google

У меня возникла уникальная проблема (я провел тщательный поиск SO, прежде чем пытался задать этот вопрос.
Когда я использую PHPMailer для отправки на адрес gmail (или hotmail и т. Д.), Он отлично работает. Как только я изменяю его для отправки на адрес электронной почты Служб Google, я не получаю никакого сообщения об ошибке, вместо этого оно сообщает, что оно прошло успешно, но письма не приходят.

Кто-нибудь видел эту проблему раньше? В моем коде отсутствует что-то особенное, что делает его действительным электронным письмом для прохождения через серверы Служб Google (не уверен, что я иду в правильном направлении). Спасибо!

Начало моего кода:

<?php

require("/PHPMailer_5.2.0/class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Port = 465;
$mail->Host = 'smtp.gmail.com'; // "ssl://smtp.gmail.com" didn't worked
$mail->IsHTML(true); // if you are going to send HTML formatted emails
$mail->Mailer = 'mail';
$mail->SMTPSecure = 'ssl';

$mail->SMTPAuth = true;
$mail->Username = "******@dynamicsafetyfirst.com";
$mail->Password = "*******";

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

$mail->Subject  = "First PHPMailer Message";
$mail->WordWrap = 50;
$mail->FromName = $_POST['name'];
$mail->Subject = $_POST['enquiry'];
$mail->Body = $_POST['comments']. "--By--".' name: '. $_POST['name']."--". 'email: ' .$_POST['email'];

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

КОНЕЦ КОДЕКСА.

0

Решение

Вы прикладываете немало усилий, чтобы сделать что-то не так. Прежде всего, вы используете довольно старую версию PHPMailer — получите последнюю версию из GitHub. Далее, у вашего кода много проблем, поэтому начните снова, используя Пример gmail предоставлен. Используйте tls на порту 587. Не устанавливайте Mailer — ты уже звонил isSMTP()и переопределение Mailer позже напрашивается на неприятности.

Чтобы увидеть, что происходит на съемочной площадке $mail->SMTPDebug = 3;, и он покажет вам весь разговор SMTP. В этот момент вы можете получить некоторое представление о том, что происходит с вашим сообщением.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]