Как решить SMTP не удалось подключиться ошибка? [пост STARTTLS проблема] - PullRequest
1 голос
/ 13 марта 2020

Я установил php почтовик, используя composer composer Требуется phpmailer / phpmailer. Я следовал инструкциям с этого сайта https://www.geeksforgeeks.org/how-to-send-an-email-using-phpmailer.

Ниже приведен мой код для отправки электронной почты.

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';


$mail = new PHPMailer(true); 
try 
{ 
    $mail->SMTPDebug = 2;
    $mail->isSMTP(); 
    $mail->Host       = 'mail.example.in'; 
    $mail->SMTPAuth   = true;      
    $mail->Username   = 'username'; 
    $mail->Password   = 'password';       
    $mail->SMTPSecure = 'tls';   
    $mail->Port       = 587;   
    $mail->setFrom('owner@gmail.com', 'Owner'); 
    $mail->addAddress('receipent@gmail.com'); 
    $mail->isHTML(true);                                  
    $mail->Subject = "Hello this is subject";
    $mail->Body    = "Hello this is message;
    $mail->send();

    echo "Mail has been sent successfully!"; 
} 
catch (Exception $e) 
{ 
    echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; 
}

Когда я комментирую $mail->isSMTP(); и отправляю почту, я получить результат в виде отправленного сообщения, но я не получаю его в своем почтовом ящике Gmail.

, когда я раскомментирую $mail->isSMTP(); Я получаю сообщение об ошибке, как показано на изображении ниже.

smtp error

Мой проект размещен на сервере Godaddy. Даже если я использую функцию php mail () для отправки почты, ответом является отправка почты успешно, но она не доставляется в мой почтовый ящик Gmail

1 Ответ

0 голосов
/ 17 марта 2020

Если вы хотите использовать Gmail, следуйте приведенным ниже инструкциям, чтобы вручную добавить записи Google MX в свою учетную запись GoDaddy: https://uk.godaddy.com/help/point-my-domains-email-service-to-google-7936

К сожалению, для изменения настроек требуется несколько дней. Отражение.

Затем вам нужно отключить функции безопасности, изменить конфигурацию php почтовой программы следующим образом:

$mail->Host = 'localhost';
$mail->SMTPAuth = false;
$mail->SMTPAutoTLS = false; 
$mail->Port = 25; 

Надеюсь, что это решит.

- ---- РЕДАКТИРОВАНИЕ ------

Позже я выяснил, что письма go отправляются в папку со спамом, когда порт 25. Я изменил соединение на TLS, и теперь я их получаю как обычно.

Вот код с моего сайта, он работает на Godaddy, я получаю электронные письма на мою учетную запись gmail.

$mail = new PHPMailer();
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'true';
$mail->Port = 587;
$mail->Host = "smtp.gmail.com";
$mail->Username = "********@gmail.com";
$mail->Password = "**********";
$mail->SetFrom("********@gmail.com");
$mail->AddAddress("********@gmail.com");
$mail->Subject = " your subject";
$mail->Body = "your body"; 
...