Не получаю электронную почту в Gmail, используя Gmail SMTP, но получаю на веб-сервере, используя мой SMTP - PullRequest
0 голосов
/ 11 января 2020

Я пытаюсь отправить контактную форму в свой gmail, когда пользователь отправляет форму, но я не получаю ни одного письма по Gmail, когда использую SMTP-сервер Gmail, я пробую оба tls с портом 587 и ssl с портом 465.

Но когда я использовал свой SMTP-сервер, он работал правильно, и я также получил письмо на своем веб-сервере. Код работает на PLESK, но не работает на Cpanel. Код здесь:

<?php
require('phpmailer/class.phpmailer.php');

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 0;
$mail->SMTPAuth = TRUE;
$mail->SMTPSecure = "tls";
$mail->Port     = 587;  
$mail->Username = "**********@gmail.com";
$mail->Password = "**********";
$mail->Host     = "smtp.gmail.com";
$mail->Mailer   = "smtp";
$mail->SetFrom($_POST["userEmail"], $_POST["userName"]);
$mail->AddReplyTo($_POST["userEmail"], $_POST["userName"]);
$mail->AddAddress("**********@gmail.com");  
$mail->Subject = "Website Contact Us Form Email";
$mail->WordWrap   = 80;
$mail->Body = "User Name: ".$_POST["name"]."<br/><br/>"."User Phone Number: ".$_POST["phone"]."<br/><br/>"."User Email: ".$_POST["email"]."<br/><br/>"."User Message: ".$_POST["message"]."<br/><br/>";

if(is_array($_FILES)) {
$mail->AddAttachment($_FILES['attachmentFile']['tmp_name'],$_FILES['attachmentFile']['name']); 
}

$mail->IsHTML(true);

if(!$mail->Send()) {
    echo "<p class='error'>Problem in Sending Mail.</p>";
} else {
    echo "<p class='success'>Contact Mail Sent.</p>";
}   
?>

1 Ответ

0 голосов
/ 12 января 2020

Если ваши учетные данные верны, похоже, это может быть проблема с сетью. Вы подтвердили, что ваш брандмауэр (-ы) разрешил исходящий трафик c через порт 587? Локальный почтовый агент может прослушивать localhost и отправлять вам почту таким образом.

Кроме того, поскольку SMTP используется для отправки сообщений, я считаю, что адрес отправителя должен фактически совпадать с аутентифицированной учетной записью ( вы отправляете это письмо себе, а не из учетной записи электронной почты пользователя). Однако, если вы используете два разных адреса электронной почты, это не относится полностью.

...