Отправка почты через PHPMailer часто выполняется через PHP, если вы собираетесь отправлять уведомления по электронной почте, когда в вашем блоге WordPress появляются новые комментарии, или когда сервер перегружен из-за высокой загрузки ЦП (через время безотказной работы, показывающее среднюю загрузку за последние 1, 5 и 15 минут).
Если вы используете Gmail, скорее всего, Google GMail сообщит об ошибке: Не удалось аутентифицировать, даже если вы ввели правильный пароль для своей учетной записи Gmail.
Размещать пароль своей учетной записи прямо где-то в вашем скрипте — не очень хорошая идея, и правильный способ решить эту проблему и избежать утечки вашего основного пароля учетной записи — использовать пароль приложения. В качестве альтернативы вы можете настроить параметры безопасности для менее защищенных приложений, что может не сработать, поскольку здесь это просто PHP-скрипт.
Пароль приложения может быть установлен отдельно для каждого отдельного приложения, а также вы можете повторно сгенерировать его, если он скомпрометирован.
Вам необходимо посетить панель безопасности Google: https://myaccount.google.com/security .
Google-приложение-пароли-безопасность
Затем добавьте пароль приложения (выберите 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' );

