✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Как решить SMTP: не удалось аутентифицироваться с помощью Gmail + PHPMailer?

214

Отправка почты через PHPMailer часто выполняется через PHP, если вы собираетесь отправлять уведомления по электронной почте, когда в вашем блоге WordPress появляются новые комментарии, или когда сервер перегружен из-за высокой загрузки ЦП (через время безотказной работы, показывающее среднюю загрузку за последние 1, 5 и 15 минут).

Если вы используете Gmail, скорее всего, Google GMail сообщит об ошибке: Не удалось аутентифицировать, даже если вы ввели правильный пароль для своей учетной записи Gmail.

Размещать пароль своей учетной записи прямо где-то в вашем скрипте — не очень хорошая идея, и правильный способ решить эту проблему и избежать утечки вашего основного пароля учетной записи — использовать пароль приложения. В качестве альтернативы вы можете настроить параметры безопасности для менее защищенных приложений, что может не сработать, поскольку здесь это просто PHP-скрипт.

Пароль приложения может быть установлен отдельно для каждого отдельного приложения, а также вы можете повторно сгенерировать его, если он скомпрометирован.

Вам необходимо посетить панель безопасности Google: https://myaccount.google.com/security .

Как решить SMTP: не удалось аутентифицироваться с помощью Gmail + PHPMailer?

Google-приложение-пароли-безопасность

Затем добавьте пароль приложения (выберите GMail и другие — укажите имя приложения) — который можно использовать в PHPMailer — в случае утечки этого пароля вы всегда можете удалить его и создать новый.

Как решить SMTP: не удалось аутентифицироваться с помощью Gmail + PHPMailer?

google-app-пароли

Затем для тестирования электронной почты следует использовать следующий пример кода PHPMailer .

#!/usr/bin/php
<?php
  use PHPMailerPHPMailerPHPMailer;
  use PHPMailerPHPMailerException;
  
  require 'PHPMailer/src/Exception.php';
  require 'PHPMailer/src/PHPMailer.php';
  require 'PHPMailer/src/SMTP.php';
 
  $host = "<a class="vglnk" target="_blank" href="http://smtp.gmail.com" rel="nofollow"><span>smtp</span><span>.</span><span>gmail</span><span>.</span><span>com</span></a>";
  $port = 587;
  $secure = "tls";
//  or the following configurations through SSL should work as well. 
//  $port = 465;
//  $secure = "ssl";
  $username = "Your GMAIL email";
  $password = "Your GMAIL App Password";
  
  try {
    $mailer = new PHPMailer(true);
    $mailer->IsHTML(true);
    $mailer->IsSMTP();
    $mailer->From = $username;
    $mailer->FromName = $username;
    $mailer->ClearAllRecipients();
    $mailer->AddAddress("Recipent Email Address", "Recipent");
    $mailer->Subject = "Subject ";
    $mailer->Body = "Hello, time is: ". date("Y-m-d h:i:s");
    $mailer->SMTPAuth   = true;       // enable SMTP authentication
    $mailer->SMTPSecure = $secure;    // sets the prefix to the servier
    $mailer->Host       = $host;      // sets GMAIL as the SMTP server
    $mailer->Port       = $port;      // set the SMTP port for the GMAIL server
    $mailer->Username   = $username;  // GMAIL username
    $mailer->Password   = $password;  // GMAIL password
    $result = $mailer->Send();  
    echo "Mail sentn";
  } catch  (Exception $e) {
    echo 'Message could not be sent. Mailer Error: ';
    var_dump($e);
  }  

Помните, что вам также потребуется обновить настройки электронной почты в плагине WordPress — SMTP. И убедитесь, что у вас есть следующие учетные данные для Gmail, обновленные в файле wp-settings.php.

define( 'WPMS_ON', true );
define( 'WPMS_SMTP_PASS', 'You GMAIL App Password' );

Источник записи: helloacm.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее