TechBlogSD - Все для WordPress и WEB разработки
WEB и WordPress инструкции, новости, обзоры тем и плагинов

WordPress Gmail smtp – Настраиваем отправку почты с сайта через почту Google

11 273

Проблема стандартной функции wp_mail() №1 – Почему вы не получаете уведомления

По умолчанию WordPress использует почтовую функцию PHP для отправки электронных писем, сгенерированных WordPress и для любых установленных плагинов, которые генерируют и отправляют почтовые сообщения с сайта, например, таких как WPForms, Contact From 7. Самая распространенная причина неполучения сообщений электронной почты заключается в том, что ваш сервер хостинга WordPress не настроен на использование функции почты PHP. Встречаются такие случаи, когда эту службу невозможно настроить “по-человечески”, или же слишком дешевый хостинг.

В дополнение к этому, усилия по защите от нежелательной почты почтовыми провайдерами также могут повлиять на ваши электронные письма. В рамках процесса фильтрации многие поставщики электронной почты будут проверять, отправляется ли ваша электронная почта из того же домена, что и в поле «Отправитель». Например, если ваша электронная почта заявляет, что она отправляется с вашего адреса Gmail, но фактически отправляется с сервера вашего сайта (а не с сервера Gmail), ваша электронная почта на все 100% будет отправлена в ??спам или вообще не будет доставлена.

Вы можете исправить это, используя SMTP вместо функции почты PHP. SMTP (Simple Mail Transfer Protocol) является отраслевым стандартом для надежной отправки электронных писем.

Давайте посмотрим, как настроить WP Mail SMTP для отправки писем из WordPress.

Зачем использовать WP Mail SMTP-плагин?

Основное преимущество использования плагина WP Mail SMTP заключается в том, что он позволяет безопасно отправлять электронные письма из WordPress с помощью учетной записи Gmail или G Suite, не требуя включения менее защищенных приложений в вашу учетную запись.

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

Плагин WP Mail SMTP от WPForms – отправка почты WordPress через Gmail

Внешний вид плагина WP Mail SMTP от WPForms

Для начала Вам необходимо установить плагин WP Mail SMTP который в корне изменяет стандартную функцию отправки электронной почты WordPress, перестраивая функцию PHP wp_mail() для использования надлежащего SMTP-провайдера. В данном случае Gmail сервера.

Скачать плагин WP Mail SMTP от WPForms:

https://ru.wordpress.org/plugins/wp-mail-smtp/

И так предположим, что вы уже установили плагин и хотите настроить отправку сообщений непосредственно через джимейл почту. Естественно для этого вам для начала необходимо зарегистрировать новый Gmail аккаунт который по всей видимости должен использоваться только для отправки почты с вашего сайта. То есть я украдкой намекаю на то что должен быть создан совершенно новый почтовый ящик. На всякий случай подтвердите свое право на владение электронным ящиком при помощи мобильного телефона – безопасность не бывает лишней.

Подключение Gmail почты к плагину

После того как плагин был установлен и на странице плагинов Вы увидели его среди обилия уже имеющихся плагинов, кстати Вы его должны увидеть приблизительно вот так:

Вид плагина на странице плагинов CMS WordPress

Вам необходимо перейти непосредственно к настройкам Gmail почты. Для этого наведите курсор мышки на пункт меню “Настройки” и кликните по пункту “WP Mail SMTP”:

Пункты меню “Настройки” и “WP Mail SMTP”

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

WordPress Gmail smtp – Настраиваем отправку почты с сайта через почту Google

Кстати на всякий случай я рекомендую Вам прочесть официальную документацию по подключению Gmail почты от разработчиков плагина. Для ее прочтения Вам нужно либо перейти по данной ссылке на странице настроек в самом плагине:

Документация плагина WP Mail SMTP

Либо кликнуть по данной ссылке:

https://wpforms.com/how-to-securely-send-wordpress-emails-using-gmail-smtp/

Далее обязательно указываем почту удля отправки в полях “От (email)” и “От имени”:

WordPress Gmail smtp – Настраиваем отправку почты с сайта через почту Google

В идеале я советую открыть Chrome в режиме инкогнито (просто нажмите Ctrl+Shift+N). И войдите в админку сайта для которого настраивается Gmail smtp. Плюс здесь же войдите в почту, через которую планируется отправка почты.

И уже после переходите к пункту ниже!

Подключение API приложения в console.developers.google.com

Перейдите по ссылке:

https://console.developers.google.com/flows/enableapi?apiid=gmail&pli=1

Далее выберите в выпадающем меню “Страна проживания” свою страну, отметьте “Нет” в пункте “Я хочу получать информацию о новых функциях, советы по повышению производительности, приглашения поделиться отзывом или поучаствовать в опросе, а также специальные предложения.”

Далее отметьте чек бокс в пункте “Условия использования”. В общем сделайте все как указано ниже:

API приложения в console.developers.google.com

После того как кнопка “Принять и продолжить” была нажата наберитесь терпения и подождите около 2-5 минут.

Не в коем случае не закрывайте и не перезагружайте страницу, процесс подключения API на самом деле происходит, просто он визуально не заметен.

На следующей странице нажмите кнопку “Создать учетные данные”:

Создать учетные данные в Google API

После нажатия кнопки вы перейдете на данную страницу:

Добавление учетных данных API Google Console

Здесь в пункте “Какой API вы используете?” в выпадающем меню выберите “Gmail API”, за тем в пункте “Откуда вы будете вызывать API?” выберите “Веб-сервер (например, node.js, Tomcat)”.

Отметьте в разделе “К каким данным вы будете обращаться?” отметьте “Данные пользователя” и последнее на данной странице что Вам необходимо будет сделать это нажать чудо кнопку “Выбрать тип учетных данных”.

Далее откроется страница “Учетные данные”:

Добавление своих данных на страницу учетных данных

“Учетные данные” как раз и есть та страница, при настройке которой у большинства пользователей возникают трудности и проблемы. Но сейчас я Вам все расскажу, на самом деле ничего сверх страшного здесь нет.

  1. В поле “Название” введите, например, название сайта, в моем примере это “MyWebSiteName”;
  2. В разделе “Разрешенные источники JavaScript” введите доменное имя вашего сайта;
  3. В разделе “Разрешенные URI перенаправления” введите ссылку которую Вам любезно предоставляет сам плагин, на странице настроек в данном пункте:

URI авторизированного пользователя

В моем примере это:

https://**ДОМЕННОЕ ИМЯ САЙТА**/wp-admin/options-general.php?page=wp-mail-smtp&tab=auth

  1. Далее нажимаем кнопку “Создать идентификатор клиента OAuth” и выдыхаем, но не сильно :).

Теперь Вам откроется страница “Добавление учетных данных”:

Финальное добавление учетных данных

  1. В пункте “Адрес электронной почты выберите почту через которую планируется отправка почты с сайта
  2. В поле “Название продукта, которое видят пользователи” введите любое название в моем примере это “MyWebSiteName”
  3. Далее жмем кнопку “Продолжить”.

После всех трудов перед Вами появится данная страница:

Нажмите готово

Здесь мы только жмем кнопку “Готово” так как предоставленных данных нам слишком мало. А вот после нажатия кнопки перед нами появится страница, из которой мы перейдем к нужным для работы плагина данным:

 “Идентификатор клиента” и “Секрет клиента”

На этой странице нажмите на иконку с изображением карандаша. После Вы будете перенаправлены на страницу с возможностью скопировать “Идентификатор клиента” и “Секрет клиента”. Что собственно и делаем.

Вставка “Идентификатор клиента” и “Секрет клиента” в настройки плагина WP Mail SMTP

После того как нужные данные были скопированы нажмите кнопку “Сохранить” на этом все ужасы окончились, и мы переходим почти к заключительной части – “Волнующей” :).

Добавление идентификатора и секрета клиента в плагин WP Mail SMTP

Возвращаемся на страницу настроек плагина WP Mail SMTP. И вставляем соответствующие данные в нужные поля:

  1. В поле “Client ID” плагина вставляем данные из поля “Идентификатор клиента”;
  2. В поле “Client Secret” плагина вставляем данные из поля “Секрет клиента”;
  3. Жмем “Сохранить настройки”.

Авторизация приложения созданного в Google API для работы плагина WP Mail SMTP

Далее Вам нужно разрешить плагину отправку почты. Для этого нажмите на кнопку “Разрешить плагину отсылать почту используя ваш Google аккаунт”:

Разрешение для приложения созданного в Google API для работы плагина WP Mail SMTP

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

окно аутентификации от Google

После чего перед Вами откроется вот такое страшное окно с красивым знаком восклицания и устрашающей надписью: “Приложение не проверено”. Просто “забиваем” жмем на “Показать подробности (1)” и переходим по ссылке на страницу нашего приложения.

окно с красивым знаком восклицания и устрашающей надписью: “Приложение не проверено”.

Далее мы попадаем на страницу входа нами созданного предложения. Здесь жмем “Разрешить“:

Разрешить

После нажатия на кнопку “Разрешить” Вы будете перенаправлена на страницу настроек плагина. И если Вы все сделали в предыдущих шагах правильно Вас обрадует своей зеленой полоской уведомление “Вы успешно связали ваш сайт с вашим проектом Google API. Теперь вы сможете посылать сообщения через Google.”

Вы успешно связали ваш сайт с вашим проектом Google API. Теперь вы сможете посылать сообщения через Google.

Проверка отправки почты через Gmail SMTP

Для проверки почты Вам необходимо перейти на вкладку “Проверка почты”:

Проверка отправки почты через Gmail SMTP

Введите Email на который будет отправлено письмо и нажмите “Отправить Email”.

После отправки смотрим на оповещение системы оно должно быть с таким содержанием “Сообщение успешно отправлено!”:

Сообщение успешно отправлено!

Давайте глянем пришло ли письмо мне на почту:

Вид письма проверки списке писем на почте Google

Да! Все получилось, как нужно. Тело письма будет выглядеть вот таким образом:

Вид тела письма проверки

На этом все! Отдыхаем, радуемся жизни. И будьте уверены если тестовое сообщение было успешно отправлено значит все письма, генерируемые как WordPress, так и плагинами точно будут отправлены через Gmail.

Решение проблем

В большинстве случаев для решения возникших проблем необходимо или подождать 15 минут что бы google обработал созданное нами ранее приложение в API. Или же дать доступ нашему приложению созданному в Google API к почте. Для этого перейдите по данной ссылке: https://myaccount.google.com/lesssecureapps?pli=1

Для предоставления доступа примените настройки указанные на скрине ниже: Настройки доступа почты к Google API

Ошибка Error: invalid_request (Missing required parameter: client_id)

Данная ошибка связана с не верной генерацией линка плагином, при переходе на страницу приложения.

Для решения ошибки возьмите ссылку и место данного вида:

Вставьте ID Вашего приложения между  id= и &. Должно получиться так (обращаем внимание на

113330086498-c82qmbamjgb3b1mdg4jhr0b22mcp61ld.apps.googleusercontent.com

):

Далее перейдите по исправленной ссылке, и все должно получится.

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

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