Для настройки отправки почты без плагина:
В wp-config.php разместите данные константы перед определением ABSPATH
и замените тестовые данные реквизитами своего SMTP сервера (yandex, google или любой другой):
<?php
// Имя пользователя для SMTP авторизации
define( 'SMTP_USER', 'user@example.com' );
// Пароль пользователя для SMTP авторизации
define( 'SMTP_PASS', 'smtp password' );
// Хост почтового сервера
define( 'SMTP_HOST', 'smtp.example.com' );
// Обратный Email
define( 'SMTP_FROM', 'website@example.com' );
// Имя для обратного мыла
define( 'SMTP_NAME', 'Вася Пупкин' );
// Номер порта (25, 465, 587)
define( 'SMTP_PORT', '25' );
// Тип шифиования (ssl или tls)
define( 'SMTP_SECURE', 'tls' );
// Включение/отключение шифрования
define( 'SMTP_AUTH', true );
// Режим отладки (0, 1, 2)
define( 'SMTP_DEBUG', 0 );
В functions.php фильтруем стандартные параметры PHPMailer
, передавая в него данные из констант, определённых в конфиге:
<?php
use PHPMailer\PHPMailer\PHPMailer;
/**
* Настройка SMTP
*
* @param PHPMailer $phpmailer объект мэилера
*/
function mihdan_send_smtp_email( PHPMailer $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = SMTP_HOST;
$phpmailer->SMTPAuth = SMTP_AUTH;
$phpmailer->Port = SMTP_PORT;
$phpmailer->Username = SMTP_USER;
$phpmailer->Password = SMTP_PASS;
$phpmailer->SMTPSecure = SMTP_SECURE;
$phpmailer->Sender = SMTP_FROM;
$phpmailer->From = SMTP_FROM;
$phpmailer->FromName = SMTP_NAME;
}
add_action( 'phpmailer_init', 'mihdan_send_smtp_email' );
Проверка отправки
В корне сайта создайте файл mail.php со следующим содержимым и откройте его через браузер:
<?php
// Кому отправляем
$to = 'you@yourdomain.com';
// Тема письма
$subject = 'Проверка wp_mail';
// Само сообщение
$message = 'Это тестовое сообщение';
// Загружаем только ядро WordPress
define( 'WP_USE_THEMES', false );
require( 'wp-load.php' );
// Отправляем письмо
$sent_message = wp_mail( $to, $subject, $message );
if ( $sent_message ) {
// Если сообщение успешно отправилось
echo 'Всё чётко настроил, бро!';
} else {
// Ошибки при отправке
echo 'Где-то ты лоханулся знатно!';
}
Примеры настроек
Google (Gmail, G-Suite)
define( 'SMTP_AUTH', true );
define( 'SMTP_USER', 'ваше_имя@gmail.com' );
define( 'SMTP_PASS', 'Ваш пароль от почты' );
define( 'SMTP_HOST', 'smtp.gmail.com' );
define( 'SMTP_FROM', 'ваше_имя@gmail.com' );
define( 'SMTP_NAME', 'Ваше имя' );
define( 'SMTP_PORT', '465' );
define( 'SMTP_SECURE', 'ssl' );
В качестве пароля нужно указывать не пароль от почты, а пароль созданного приложения. Функция становится возможной после включение двухфакторной верификации.
У каждой почты свои настройки!
Настройка подключения к электронной почте FluentSMTP
Настало время использовать полученные учетные данные SMTP в FluentSMTP и отправлять электронные письма с веб-сайта WordPress.
Добавить новое SMTP-соединение
Если у вас уже есть настроенное соединение, то вы будете в панели управления FluentSMTP.
Пожалуйста, перейдите в Настройки WordPress ⮕ FluentSMTP ⮕ Настройки ⮕ Добавить другое соединение
Если вы еще не настроили SMTP-подключение, вам будет предложено настроить подключение автоматически.
Теперь из панели инструментов WordPress перейдите в Настройки ⮕ FluentSMTP
Подробности SMTP-протокола
После выбора «Другой SMTP» вам потребуется настроить некоторые параметры, включая параметры отправителя и учетные данные аутентификации SMTP .
Настройки отправителя
- From Email:
«From Email» — это адрес электронной почты , который будет использоваться для отправки всех писем WordPress. Установите флажок, чтобы задать обратный путь, соответствующий адресу электронной почты .
Return Path указывает, куда будут отправляться уведомления о недоставке или сообщения о недоставке. Если флажок не установлен, сообщения о недоставке будут потеряны. Если этот параметр включен, вам будут отправляться электронные письма с использованием «From Email», если какие-либо сообщения будут возвращены из-за проблем с электронной почтой получателя. - From Name:
From Name может быть любым. Вы можете использовать комбинацию своего имени и названия компании. В приведенном выше примере используется только «Notifications».
Если вы отметите Force Sender Name, то это имя будет принудительно отображаться в почтовом клиенте получателя. Это также зависит от того, поддерживает ли его ваш поставщик услуг доставки электронной почты.
Настройки SMTP-сервера
Следующая часть — предоставить учетные данные аутентификации SMTP-сервера. Это состоит из 3 частей, которые описаны ниже:
- Аутентификация :
Если вам необходимо предоставить учетные данные вашего SMTP-сервера (имя пользователя и пароль) для включения аутентификации, в нашем случае это требуется для почтовых серверов cPanel.- Имя пользователя SMTP : Обычно это адрес электронной почты, который вы используете для отправки писем.
- Пароль SMTP : Обычно это пароль для учетной записи электронной почты, который вы использовали при создании почтового ящика.
- Хранилище ключей доступа:
- Хранить ключи доступа в БД: По умолчанию это включено и настоятельно рекомендуется. Это сохранит информацию в базах данных в зашифрованном формате.
- Ключи доступа в файле конфигурации: это позволяет вам хранить ключи доступа в следующем разделе внутри файла wp-config.php с помощью следующих директив.
Просто скопируйте следующий фрагмент и замените звезды на соответствующие учетные данные. Затем просто вставьте его в файл wp-config.php вашей установки WordPress
define( 'FLUENTMAIL_SMTP_USERNAME', '********************' ); define( 'FLUENTMAIL_SMTP_PASSWORD', '********************' );
После того, как вы закончите с предоставлением корректных данных, пожалуйста, сохраните настройки, нажав кнопку Save Connection Settings . Затем следуйте этой документации:Отправьте тестовое электронное письмо , подтверждение тестового электронного письма и подтверждение возможности доставки тестового электронного письма, используя это SMTP-соединение, на свой адрес электронной почты и подтвердите доставку.
Вот и все! Наслаждайтесь надежностью FluentSMTP на вашем WordPress-сайте и никогда больше не сталкивайтесь с проблемами с доставкой электронной почты!
Добавить комментарий