Как настроить отправку почты на сайте WordPress через почту на Gmail (SMTP от Google)?

В этой публикации мы рассмотрим настройку отправки почты с сайта сделанного на CMS WordPress через почтовый сервис от Google для того чтобы письма не попадали в СПАМ.

В первой статье по настройке плагина WP Mail SMTP мы рассмотрели возможность настройки через SMTP хостинг-провайдера, а эта публикация будет посвящена SMTP от Google.

Напомню, что плагин WP Mail SMTP включает в себя множество различных вариантов настройки SMTP:

  1. SendLayer 
  2. SMTP.com
  3. Brevo (formerly Sendinblue) SMTP
  4. Mailgun SMTP
  5. SendGrid SMTP
  6. Postmark SMTP
  7. SparkPost SMTP
  8. Gmail SMTP (Gmail, Google Workspace, G Suite)
  9. Microsoft SMTP (Outlook.com и Office 365) [Pro платная версия]
  10. Amazon SES SMTP [Pro платная версия]
  11. Zoho Mail SMTP [Pro платная версия]
  12. Все прочие SMTP

Бесплатная версия плагина позволяет нам настроить отправку почтовых сообщений через Gmail SMTP. Я ожидаю, что плагин у вас уже установлен и мы сразу обращаемся к экрану настроек с выбором сервиса-посредника:

Почтовая программа Gmail хорошо подходит для сайтов, которые отправляют небольшое количество писем. API Gmail имеет ограничения скорости и ряд дополнительных ограничений, которые могут привести к проблемам во время отправки.

Если вы планируете отправлять большое количество писем или обнаружите, что ваш веб-сервер не совместим с ограничениями API Gmail, мы рекомендуем рассмотреть другой вариант почтовой программы.

Примечание от разработчиков

После выбора провайдера (в нашем случае это Google/Gmail) ниже будут доступны его настройки, с которыми мы сейчас начнём работу

Настройки Гугл провайдера

Принятая весть для обладателей PRO-версии, включение функции One-Click Setup обеспечивает быстрый и простой способ подключения к Google, не требующий создания собственного приложения.

Но так как мы рассматриваем вариант подключения в бесплатной версии впереди нас ожидает тернистый путь 🙂

Первое условие — у вас должен быть аккаунт на Google, так как дальнейшая наша работа будет связана с ним. Если у вас нет аккаунта на Google, то воспользуйтесь этой справкой чтобы его создать: Как создать аккаунт?

Настройки подключения. Шаг за шагом

  1. В разделе настроек Основные укажите вашу почту на сервисе Gmail через которую будет осуществляться пересылка сообщений

После этого переходим к разделу с внесением данных:

  • ID клиента
  • Секретный код клиента

Чтобы их получить вам потребуется использовать свою учетную запись Google для создания веб-приложения.

Создание веб-приложения в вашей учетной записи Google

В новой вкладке или окне, которое вы открыли, войдите в свою учетную запись Google и откройте Google Cloud Console .

Если вы впервые используете Google Cloud Console, вы можете увидеть всплывающее окно с просьбой выбрать страну и согласиться с Условиями обслуживания. 

Сделайте это, а затем нажмите «Agree and Continue» , чтобы перейти к следующему шагу.

Выбираем страну и принимаем условия

Далее необходимо создать Новый проект

новый проект

Поле этого дадим название нашему проекту

Дадим имя нашему проекту

После создания проекта, убедитесь что выбран именно он и перейдите в подраздел Библиотеки (Library) раздела APIs & Services

APIs & Services - Library

Далее нам нужно включить API, для этого введите в строке поиска «Gmail API»

Выбираем Gmail API и включаем его:

Включение Gmail API

После включения API Gmail вы должны быть перенаправлены на страницу обзора API Gmail. Здесь нажмите кнопку Create credentials.

На следующей странице нам нужно пройти последовательно несколько этапов заполнения данных. Первым — в раскрывающемся списке выберите «Gmail API» и выберите опцию User Data, после этого нажимаем Next

Первый шаг

Затем Google запросит некоторую базовую информацию о вашем приложении. Мы заполним лишь обязательные поля (помечены звёздочкой). Первая часть для публичных данных о приложении, а последний E-mail (кантатная информация разработчика) предназначен для Google, чтобы уведомлять вас об изменениях в вашем проекте.

Следующий раздел №3 необязателен для заполнения, поэтому кликаем «Сохранить и Продолжить«

третий шаг

В разделе №4 OAuth Client ID выбираем Веб-приложение (Web Application)

шаг четвёртый

А также задаём Имя — это имя используется только для идентификации клиента в консоли и не будет отображаться конечным пользователям.

Это имя используется только для идентификации клиента в консоли

Затем пропустите раздел Authorized JavaScript origins и переходим к важному моменту — это подраздел Authorized redirect URIs. Здесь нам нужно добавить URI перенаправления.

URI перенаправления

Но где его взять? Для этого нужно вернуться на ваш сайт к странице настроек плагина, там он указан:

https://connect.wpmailsmtp.com/google/

У всех он одинаковый, поэтому можете просто скопировать его отсюда:

https://connect.wpmailsmtp.com/google/

Вставьте эту ссылку и создайте перенаправление

Перенаправление создаём

После успешного добавления вы автоматически переместитесь к заключительному этапу №5, на котором у вас будет отображаться ваш клиентский ID

ваш клиентский ID

Нам доступна загрузка информации для аутентификации приложения в формате JSON, но мы, как обычный пользователь, просто скопируем Clien ID и добавим его в настройки плагина на сайте

Секретный код клиента

Не забудьте сохранить изменения. Теперь давайте получим Секретный код клиента.

Зайдите в раздел «OAuth consent screen» и в подразделе «Статус публикации» обратите внимание на текущий статус — это Test. Опубликуйте ваше приложение кликнув Publish App

«OAuth consent screen Статус публикации»

Подтверждаем…

Продакшн

После публикации в «Продакшн»,вы можете заметить изменение в статусе.

Продакшн статус

Отлично! Далее, перейдите в раздел Credentials. Там вы обнаружите ваше приложение для аутентификации на серверах Google. Нажмите на карандашик чтобы перейти к редактированию

Именно там и находится Client secret. Хотя, стоит заметить, что на этапе создания Client ID, когда нам был ещё доступен файл для скачивания с данными в формате JSON, то там уже присутствовал наш Client ID. Но это просто для информации.

Что ж, копируем и вносим в настройки плагина наш Client ID

Вносим Client ID

Становится активной примечательная кнопочка Разрешить плагину отсылать почту использую ваш google аккаунт.

Притомились? Но финал близок. Теперь всё готово и нам нужно осуществить Авторизацию.

Нажимаем… Откроется экран входа в Google. Продолжайте и войдите в учетную запись, с которой вы настраиваете SMTP.

Выбираем нужный аккаунт

После выбора аккаунта вы можете увидеть вот такое предупреждение. Не переживайте. Просто переходите по ссылке к Дополнительным настройкам

И нажимаем на ссылку перехода

переходим по ссылке

Перед нами ещё один экран. Здесь после одобрения произойдет обратное перенаправление

Нажимаем продолжить

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

Успех!

А кнопочка превратится вот в такую:

Кнопка удалить подключение

Поздравляю! Вы сделали это!

Теперь смело переходим к тестированию отправки сообщений и отправим вначале через Инструмент данного плагина

А вот и письмо в ящике после успешного теста

тестовое письмо

Проверим с боевой формы сайта

тестовое письмо с боевой формы

Письмо на месте)

Сделаем проверку через сервис Mail Tester. Неплохо)

Сервис Мэйл Тестер

Правда наш «айпишник» значится в 2-х базах чёрных списков. Но это уже совершенно другая история…

Как отследить, сохранить все электронные письма, отправленные с сайта на WordPress? 

Если по каким то причинам вы не получаете письма с сайта WordPress на свой электронный ящик, или просто желаете подстраховаться — чтобы не пропустить отправленные важные E-mail оповещения такими плагинами, как WooCommerce, задействуйте плагин WP Mail Logging.

После установки, плагин достаточно только активировать и он незамедлительно приступит к работе и встанет на стражу e-mail транспорта.

раздел плагина в меню

Какая информация регистрируется?

Все электронные письма, отправленные с вашего сайта WordPress теперь, после активации плагина, будут протоколироваться.

А вот информация, которая сохраняется:

  • Тема письма
  • Содержимое электронной почты (HTML или текст)
  • Вложения электронной почты
  • Заголовки электронной почты (кому, от кого, кому ответить, копия, скрытая копия)
  • Сообщение об ошибке (в случае, если при попытке отправить электронное письмо произошла ошибка)
  • IP-адрес исходного сервера (нужно включить в настройках)
  • Дата и время письма
  • Получатель (адрес электронной почты)

Сейчас мы оформим заказ в магазине WooCommerce и посмотрим что отловит наш плагин для сохранения

Заказ в интернет-машазине

Теперь в разделе журнала плагина мы можем наблюдать фиксацию данного события. Оформление заказа вызвало три события отправления электронных писем:

Вот панель для действий над письмами. Мы можем заново вызвать отправку выборочного письма, удалить или же жмакнуть на «глазик» и посмотреть тело письма которое получаем мы, как администратор сайта и какое получает клиент. Иногда это очень полезно 🙂

Письмо менеджерам интернет-магазина:

Письмо менеджерам интернет-магазина:

А вот такое письмо получают клиенты интернет-магазина:

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

Дополнительные настройки

В настройках плагина можно включить

  • Хост — Отображение IP-адреса хоста, на котором работает WordPress. Это полезно при запуске WP Mail Logging на нескольких серверах одновременно.
  • Отображение вложений (файлов) — Отображение вложений в таблице журнала.
настройки плагина

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

А после включения хоста, в нижней части превью письма вы можете увидеть «айпишник» с которого было отправление:

хост отправителя