Sheensay → WordPress → Настроить отправку email писем в WordPress

Настроить отправку email писем в WordPress

07.02.2020


  • Почему email не доставляются и пропадают
  • Что сделать, чтобы письма доходили до адресата
  • Как настроить подключение SMTP
  • Настройка WP Mail SMTP
  • Настройка Contact Form 7
  • Установка и настройка почтового сервера
  • Установка Postfix
  • Установка Sendmail
  • Что делать, если email не доходит
  • Как проверить отправку email в PHP
  • В заключение

Если вы на своём сайте активно используете email, а именно формы обратной связи, например, Contact Form 7, форумы с рассылкой сообщений или иные социальные плагины, то наверняка часто сталкивались с такой проблемой, как пропадание писем, попадание их в спам и т.д. Как этого избежать, поговорим далее.

Почему email не доставляются и пропадают

Письма могут пропадать в силу нескольких причин. Первая и самая главная — ваш email приняли за спам. Любой серьёзный почтовый сервис имеет свой мощный антиспам-модуль c эвристическим анализом содержимого email, не говоря уже о чёрном списке адресов. Поэтому, не переусердствуйте с рассылкой, чтобы не попасть в чёрный список спамеров.
Также, в спам попадут не подписанные электронной подписью письма. То есть, любой может отправить фишинговое письмо, скажем, от имени [email protected], однако, это будет безуспешно, т.к. отправитель вряд ли сможет подтвердить, что оно было отправлено с этого адреса. Для проверки легитимности используются подписи DKIM (DomainKeys Identified Mail) и SPF (Sender Policy Framework) записи.

Что сделать, чтобы письма доходили до адресата

Не переусердствуйте с рассылкой и настройте свой SMTP-сервер, чтобы исходящие email подписывались DCIM- и SPF-подписями. Вы можете настроить свой SMTP сервер, но чтобы не заморачиваться с настройкой, можно привязать домен к Яндекс.ПДД или Google Apps for Business и отправлять email через их сервис, и тогда все нужные заголовки будут прописываться автоматом. Но тут есть 2 оговорки

  1. Ваш хостинг-провайдер должен разрешать исходящие соединения, чтобы была возможность подключиться к внешнему SMTP серверу
  2. Объём рассылки не превышает 2000 писем в день. Это лимит Google, у Yandex вряд ли больше

Если вы укладываетесь в вышеуказанные рамки, тогда вперёд, настроим подключение

Как настроить подключение SMTP

Чтобы настроить нормальную отправку писем, нужно установить плагин WP Mail SMTP. Он позволяет переконфигурировать стандартный PHP Mailer так, чтобы была возможность подключаться к SMTP серверу. Также, советую использовать его, если вы пользуетесь локальным сервером.

Настройка будет происходить под Яндекс. Гугл отметается, так как теперь там нет бесплатных тарифов

Настройка WP Mail SMTP

А вот описание опций

  • From Email — email отправителя. Вводим логин от почты полностью как на изображении вверху
  • From Name — Имя отправителя. Можете поставить сюда что хотите, например, адрес вашего сайта
  • Mailer — выбираем Send all WordPress emails via SMTP
  • Return Path — оставляем пустым
  • SMTP Host — адрес SMTP сервера. Вводим smtp.yandex.ru
  • SMTP Port — порт SMTP сервера. Вводим 587
  • Шифрование— тип шифровки писем. Выбираем TLS
  • Авторизация— авторизация. Выбираем Вкл
  • Username — логин от почты. Значение должно совпадать с From Email

    Если логин вида [email protected], то нужно вписывать просто login, без @yandex.ru

  • Password — пароль от почты

Когда всё настроите, можете проверить, как получилось. Для этого введите в разделе ниже Send a Test Email ваш email, отправьте тестовое письмо и проверьте почту. Если всё в порядке, оно должно находиться там.

Настройка Contact Form 7

Допустим, мы зарегистрировали email [email protected] и внесли его в настройки WP Mail SMTP, тогда его нужно прописать в форме Contact Form 7 в разделе Письмо в поле От кого:
contact form 7 через smtp yandex

Не обращайте внимания на ошибку: Электронный адрес отправителя не принадлежит домену сайта., email будут отправляться верно с этого адреса.

Установка и настройка почтового сервера

Если лимиты внешнего SMTP-сервера не устраивают, можно использовать свой серверный вариант: установить Postifx или Sendmail. Оба отвечают за работу с email, в частности, их отправку и пересылку.

Установка происходит с помощью введения команд в консоль SSH. Инструменты: Far Manager или putty. Если работа не под root, не забываем перед командами давать sudo

Установка Postfix

apt-get update && apt-get install postfix

В процессе установки будут заданы вопросы относительно настройки. Важно выбрать тип Internet Site. Это необходимо сделать для того, чтобы Postfix сгенерировал файл main.cf и сразу начал работу. В противном случае, Вам необходимо будет настраивать его вручную.

Установка Sendmail

Sendmail устанавливается примерно так же

apt-get update && apt-get install sendmail

Потом его сконфигурировать

sendmailconfig

После всего этого перезагрузить сервер

reboot

Что делать, если email не доходит

  1. Проверить правильность адреса, куда почта должна придти;
  2. Проверить папку Спам;
  3. Выждать пару минут.

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

Как проверить отправку email в PHP

3 команды, которые нужно ввести в консоль SSH последовательно:

php -a
mail ('[email protected]', "Test Mailer", "Test mail from php mailer");
exit;

[email protected] — это адрес, куда надо доставить тестовое письмо.
Если PHP не настроен на работу в консоли, можно попробовать следующее:

  1. Создать файл test_email.php;
  2. Прописать туда:
    <?php mail ('[email protected]', "Test Mailer", "Test mail from php mailer");
  3. Запустить файл командой
    php -f test_email.php

Если на данном этапе возникает ошибка, попробуйте переустановить и правильно сконфигурировать Postfix или Sendmail.

Как вариант, ещё стоит попробовать проверить sendmail_path в php.ini.

В заключение

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



Так себеНеплохоНормальноХорошоОтлично (10 оценок, в среднем: 4,90 из 5)
Загрузка...


  • Last-Modified в WordPress
  • Что такое SSL и TLS, как установить и настроить
  • WP-CLI — управление WordPress из консоли
  • Установка плагинов в WordPress
  • Вебмастер Яндекс — Оригинальные Тексты и WordPress

WordPress email smtp wordpress яндекс

Отправка писем через SMTP в Wordpress

Свежие записи

  • Squid — свой собственный HTTP Proxy сервер
  • Как исправить ошибку «Обновить WordPress — В настоящий момент выполняется другое обновление»
  • Query Monitor
  • LEMP
  • Telegram

Свежие записи

  • Squid — свой собственный HTTP Proxy сервер
  • Как исправить ошибку «Обновить WordPress — В настоящий момент выполняется другое обновление»
  • Query Monitor
  • LEMP
  • Telegram

Свежие комментарии

  • Sheens к записи Что такое SSL и TLS, как установить и настроить
  • Геомант к записи Что такое SSL и TLS, как установить и настроить
  • Sheens к записи Last-Modified в WordPress
  • Артур к записи Last-Modified в WordPress
  • Sheens к записи EWWW Image Optimizer — плагин для сжатия png, jpeg, gif анимации без потери качества
  • Telegram
  • Вконтакте
  • Facebook
  • Twitter
  • Google+
  • Одноклассники
  • Мой Мир Mail.ru
  • RSS

Copyright © 2025 · Sheensay on Genesis Framework · WordPress · Log in