Как использовать SMTP для отправки писем из WordPress

Опубликовано: 2023-04-11

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

В WordPress отправка электронной почты с помощью SMTP является гораздо лучшей альтернативой. И настроить не сложно. Сегодняшний урок покажет вам, как это сделать с плагинами и без них.

Что такое SMTP?

SMTP или простой протокол передачи почты определяет правила передачи электронной почты. Это позволяет обмениваться электронной почтой между различными типами компьютеров, серверов и сетей.

SMTP-сервер — это приложение, которое работает в соответствии с протоколом SMTP и отправляет электронные письма от отправителя получателю. Чтобы упростить этот процесс, SMTP-сервер получает электронные письма от почтового клиента (Gmail, Yahoo!, Outlook и т. д.) и при необходимости передает их на другие SMTP-серверы. Затем электронные письма перехватываются SMTP-сервером получателей и доставляются с использованием серверов входящей почты (POP3 или IMAP).

Почему рекомендуется использовать SMTP для отправки писем в WordPress?

Как мы упоминали в начале, WordPress использует функцию PHP mail() для отправки электронных писем. Этот метод проблематичен по нескольким причинам:

  • Он в основном подходит для простых текстовых электронных писем. Возможности HTML довольно ограничены, и вы не можете добавлять вложения или вставлять изображения. Это оставляет вас со скучными электронными письмами и практически без элементов дизайна;
  • У него есть серьезные проблемы с доставкой. PHP mail() не имеет правильных заголовков электронной почты. В результате поставщики интернет-услуг (ISP) помечают электронные письма, отправленные этим методом, как спам или полностью отклоняют их. Итак, если вы, например, автоматически отправляете новые сообщения своим подписчикам с помощью PHP mail(), скорее всего, вы часто спамите в папках;
  • Это не позволяет отправлять электронные письма через внешние серверы. Даже если вы настроите параметры SMTP, его можно будет использовать только с локальным хостом или аналогичным решением. PHP mail() также не поддерживает аутентификацию SMTP.

Самое простое решение — настроить WordPress для отправки электронной почты с помощью SMTP-сервера. Последний требует аутентификации заголовка и поддерживает безопасную передачу через SSL и TLS. Это означает, что у вас будет меньше шансов столкнуться с проблемами доставки электронной почты, особенно если вы используете надежную службу SMTP и все правильно настроили.

На этой ноте давайте выясним, как отправлять электронные письма в WordPress с помощью SMTP-сервера.

Настройка SMTP в WordPress без плагинов

Вы можете настроить SMTP в WordPress без плагинов с помощью кода и PHPMailer. Это библиотека, созданная для PHP, чтобы преодолеть недостатки функции mail(). PHPMailer поддерживает сложные тела электронных писем (включая HTML и встроенные изображения) и вложения. Прежде всего, он позволяет отправлять электронные письма с любого SMTP-сервера.

Для работы PHPMailer нам нужен работающий SMTP-сервер. В приведенном ниже примере кода мы будем использовать Gmail SMTP для отправки электронных писем в WordPress. Но прежде чем мы начнем, вы должны создать пароль приложения с помощью этих инструкций. В противном случае вы не сможете успешно пройти аутентификацию.

Теперь перейдите в корневой каталог вашего сайта и найдите файлwp-config.php. Используйте следующий пример кода для настройки параметров SMTP WordPress с использованием учетных данных Gmail.

 определить('имя_пользователя_SMTP', 'ваш[email protected]');
определить('SMTP_password', 'ваш-gmail-пароль-приложения');
определить('SMTP_сервер', 'smtp.gmail.com');
определить('SMTP_FROM', 'ваш-отправитель-электронная почта@gmail.com');
определить('SMTP_NAME', 'Ваше имя');
определить('SMTP_PORT', '587');
определить('SMTP_SECURE', 'tls');
определить('SMTP_AUTH', правда);
определить('SMTP_DEBUG', 0);

Перейдите в редактор тем и найдите файлfunctions.phpдля дальнейших правок. Обратите внимание, что рекомендуется вносить изменения в дочернюю тему, чтобы избежать сбоев в работе основной темы. Добавьте следующий скрипт в файлfunctions.php.

 add_action('phpmailer_init', 'my_phpmailer_smtp');
функция my_phpmailer_smtp($phpmailer) {
$phpmailer->isSMTP();
$phpmailer->Host = SMTP_server;
$phpmailer->SMTPAuth = SMTP_AUTH;
$phpmailer->Порт = SMTP_PORT;
$phpmailer->Имя пользователя = SMTP_имя_пользователя;
$phpmailer->Пароль = SMTP_password;
$phpmailer->SMTPSecure = SMTP_SECURE;
$phpmailer->From = SMTP_FROM;
$phpmailer->FromName = SMTP_NAME;
}

Сохраните настройки и все. Теперь ваш WordPress отправляет электронные письма через SMTP-сервер.

Для получения дополнительной информации см. Как отправлять электронные письма в WordPress с помощью функции PHP.

Использование плагинов для настройки WordPress SMTP

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

Почта WP SMTP

Почта WP SMTP

WP Mail SMTP — самый популярный плагин для настройки SMTP. Он указывает PHP mail() использовать одну из встроенных почтовых программ или пользовательские настройки SMTP. Тем самым решается проблема доставляемости нативной функции.

Вы можете легко установить WP Mail SMTP, перейдя на вкладку «Плагины» на панели инструментов вашего веб-сайта WordPress и нажав «Добавить новый». Введите «WP Mail SMTP» в поле поиска, нажмите «Установить сейчас», а затем «Активировать».

Установка SMTP почты WP

После установки плагина вы можете настроить почтовую программу с панели управления или с помощью мастера установки. Оба имеют одинаковую концепцию, просто разные конструкции. Мы предпочитаем использовать панель инструментов, поэтому мы будем настраивать плагин с ее помощью.

У нас есть два основных варианта:

  • Настройте WP Mail SMTP со сторонними SMTP-сервисами
  • Используйте встроенную почтовую программу

Первый шаг одинаков для обоих вариантов, поэтому давайте обсудим его здесь. Откройте настройки SMTP WP Mail и прокрутите вниз до «От электронной почты» и «От имени» на вкладке «Основное подключение».

В поле От электронной почты введите адрес электронной почты, который будет использоваться для отправки электронных писем. Это может быть бесплатная учетная запись электронной почты, но мы рекомендуем адрес с собственным доменом для лучшей доставки. Чтобы убедиться, что введенный адрес используется во всех электронных письмах, установите флажок «Принудительно из электронной почты».

В поле «От кого» введите имя, которое будет отображаться в отправляемых письмах. Еще раз установите флажок Force From Name, чтобы убедиться, что другие плагины (например, WooCommerce или плагин новостной рассылки WordPress) не переопределяют этот параметр.

Настройка SMTP почты WP

Как только это будет сделано, мы можем перейти к настройке почтовой программы, чтобы указать WordPress отправлять электронные письма с помощью плагина.

Настройка почты WP со сторонними SMTP-сервисами

Использование надежной сторонней службы SMTP жизненно важно для обеспечения доставки ваших электронных писем WordPress в почтовые ящики получателей. С помощью функции Other SMTP в WP Mail SMTP вы можете легко интегрировать свою любимую почтовую программу. В сегодняшнем уроке мы будем использовать надежную службу SMTP, предоставляемую Mailtrap.

Но прежде чем интегрировать его с вашим веб-сайтом WordPress, вам сначала нужно создать учетную запись и выполнить мастер в приложении, чтобы подтвердить свой домен. Для этого у вас должен быть доступ к записям DNS вашего домена. В них вам нужно будет добавить готовые записи SPF, DKIM и DMARC, а затем нажать «Подтвердить домен».

Проверка домена почтовой ловушки

Как только ваша учетная запись будет запущена, вернитесь к «Отправка доменов» и нажмите на подтвержденный домен. Затем нажмите «API и SMTP», выберите «SMTP» и скопируйте учетные данные.

Mailtrap API smtp интеграции

Вернитесь к WP Mail SMTP и выберите «Другой SMTP» на вкладке «Почтовая программа».

Почтовая ловушка Другой SMTP

Вы увидите набор пустых полей. Заполните их, используя учетные данные SMTP Mailtrap:

  • Хост SMTP: live.smtp.mailtrap.io
  • Шифрование: TLS (вы также можете выбрать SSL, но рекомендуется TLS)
  • Порт SMTP: 587 (будет заполнен автоматически)
  • Аутентификация: включить
  • Имя пользователя SMTP: api
  • Пароль SMTP: ваш пароль SMTP
Настройки почтовой ловушки SMTP

Нажмите «Сохранить настройки». Вы увидите окно подтверждения. Если все настроено правильно и WordPress отправляет электронную почту SMTP, вернитесь в свою учетную запись Mailtrap и нажмите «Проверить настройку».

Mailtrap Проверка настройки

Использование встроенной почтовой программы

Давайте перейдем ко второму варианту интеграции — использованию встроенной почтовой программы, чтобы убедиться, что WordPress использует SMTP для отправки электронных писем. С помощью этого метода вы можете выбрать одну из почтовых программ WP Mail SMTP, включая SendLayer, SMTP.com, Sendinblue, Amazon SES и т. д. Этот метод также можно использовать для настройки SMTP Gmail в WordPress или даже Microsoft 365/Outlook.

Процесс интеграции аналогичен для большинства ESP. Конечно, у вас должна быть рабочая учетная запись для интеграции с WP Mail SMTP. Вам просто нужно выбрать почтовую программу и ввести ключ API вашей учетной записи. Инструкции по этому поводу будут доступны в официальной документации ESP.

Встроенный почтовик

Для некоторых почтовых программ вам может потребоваться ввести домен отправителя, идентификатор потока сообщений или регион. Подробные инструкции для каждого почтовика доступны здесь.

Плагин HubSpot для WordPress

Плагин HubSpot для WordPress

WP Mail SMTP в основном используется для настройки WordPress для отправки электронных писем с помощью SMTP. Напротив, плагин HubSpot WordPress — это полноценный плагин менеджера по работе с клиентами (CRM) для вашего веб-сайта WordPress. С его помощью вы можете создавать списки адресов электронной почты с регистрационными формами, общаться с посетителями в чате и анализировать важные показатели.

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

Gmail SMTP

Gmail SMTP

Gmail SMTP — это еще один плагин WordPress для отправки электронных писем с помощью SMTP, но он специально разработан для Gmail. Он использует PHPMailer и встроенную функцию wp_mail для отправки электронных писем, что означает, что вы все равно можете использовать все их функции.

Плагин Gmail SMTP подключается к Gmail с помощью API и протокола OAuth 2.0. Таким образом, вам не нужно будет вводить имена пользователей или пароли. Однако вам нужно будет создать приложение в консоли разработчика Google и настроить учетные данные OAuth. К счастью, на официальной странице плагина есть необходимые инструкции.

Сообщение SMTP Mailer

Сообщение SMTP Mailer

Последний вариант, который у нас есть, это Post SMTP Mailer. Это удобный плагин, который позволяет интегрировать ESP с помощью SMTP или API. Бесплатная версия поддерживает API Mailgun, SendGrid, Mandrill (теперь транзакционная электронная почта Mailchimp), SparkPost, Postmark, Sendinblue и Gmail. Версия Pro предоставит вам доступ к Zoho Mail, Amazon SES и Microsoft 365.

Кроме того, Post SMTP Mailer хранит журналы электронной почты и отправляет уведомления Chrome в случае возникновения каких-либо проблем.

Как протестировать электронную почту в WordPress?

Чтобы убедиться, что ваша конфигурация может успешно отправлять электронные письма из WordPress, вам необходимо протестировать свои электронные письма. Большинство плагинов поставляются с функцией тестирования по умолчанию для некоторой базовой проверки.

Например, с помощью WP Mail SMTP вы можете перейти на вкладку «Тест электронной почты», ввести свой адрес электронной почты и нажать «Отправить электронное письмо». Если конфигурация правильная, вы должны найти тестовое письмо в своем почтовом ящике. Если нет, WP Mail SMTP покажет вам журнал ошибок.

WP Mail SMTP-тестирование электронной почты

Однако тестирования функции отправки электронной почты не всегда достаточно. Очень важно протестировать HTML, проверить заголовки и проверить свой рейтинг спама, прежде чем отправлять электронные письма своим контактам. Вот где вам может помочь другое решение Mailtrap, Email Testing. Он будет записывать ваши электронные письма WordPress в виртуальный почтовый ящик, следя за тем, чтобы ни одно из них не попало в почтовые ящики получателей.

Подобно отправке электронной почты, тестирование электронной почты можно интегрировать с плагинами WordPress, используя свои учетные данные SMTP. Вы найдете их в своей учетной записи, развернув «Мои входящие» и нажав «Показать учетные данные». Вот как будут выглядеть примеры настроек SMTP:

  • Хост SMTP: sandbox.smtp.mailtrap.io
  • Шифрование: TLS или SSL
  • SMTP-порт: 465 или 587
  • Аутентификация: включить
  • Имя пользователя SMTP: <ваше имя пользователя SMTP>
  • Пароль SMTP: <ваш пароль SMTP>

Через несколько секунд ваше тестовое письмо появится в вашем виртуальном почтовом ящике, если конфигурация правильная.

Тестирование электронной почты Mailtrap

Как мы видели, чтобы настроить WordPress для отправки электронной почты с помощью SMTP, у вас есть два основных варианта: кодирование с помощью PHPMailer или использование плагинов. Первый вариант больше подходит для разработчиков, а второй — для маркетологов. Какой бы метод вы ни выбрали, главное — найти способ обойти недостатки PHP.

Все плагины, которые мы перечислили выше, позволяют вам использовать SMTP Gmail. Хотя этого достаточно для периодической отправки электронных писем, лучше выбрать надежный ESP для отправки больших объемов электронных писем. В противном случае ваши письма, скорее всего, будут помечены как спам.

Наслаждаться!