Wp_mail() — Отправляет письмо на почту. Похожа на mail() в PHP. Функция WordPress. Настройка e-mail и его функций в WordPress Вордпресс не отправляет письма

Привет! Мы продолжаем разбирать самые интересные и самые полезные плагины для сайта WordPress ! Сегодня вы узнаете о полезном плагине, который поможет вам переконфигурировать функцию wp_mail() для использования SMTP вместо PHP mail(), а также создает страницу в админ-панели WordPress для изменения настроек почты.

Установить плагин вы сможете прямо из админ-панели WordPress. Перейдите на страницу: Плагины – Добавить новый , введите название плагина в форму поиска, нажмите Enter, установите и активируйте плагин.

– From Email, укажите здесь email адрес отправителя писем.

– From Name, имя отправителя писем.

– Mailer, выберите функцию для отправки писем. Рекомендуется по умолчанию – Send all WordPress emails via SMTP .

– Return Path, включить функцию возврата писем.

SMTP Options. Данные параметры для отправки почты по протоколу SMTP.

– SMTP Host, название вашего хоста.

– SMTP Port, укажите ваш порт. Если вы не знаете где взять данные параметры, обратитесь к вашему хостинг-провайдеру.

– Encryption, выберите тип шифрования:

  • No encryption, без шифрования.
  • Use SSL encryption, шифрование SSL.
  • Use TLS encryption. This is not the same as STARTTLS. For most servers SSL is the recommended option, Использовать шифрование TLS. Для большинства серверов SSL – это рекомендуемый вариант.

– Authentication,

  • No: Do not use SMTP authentication, не использовать проверку подлинности SMTP.
  • Yes: Use SMTP authentication, использовать проверку подлинности SMTP.
  • Если указано значение НЕТ, значения ниже (логин и пароль) игнорируются.

– Username, имя пользователя. (от панели управления на хостинге)

– Password, пароль.

Сохраните изменения .

Send a Test Email. Тест для отправки писем.

– To:, укажите здесь email адрес, на который будет выслано тестовое письмо, для проверки работоспособности функции.

Один из важнейших вопросов работы сайта - почтовый сервер, т.е. отправка писем с сайта. Это может быть форма обратной связи, Заявка, Заказ, Обратный звонок и т.д.

Отправка писем с сайта

У многих хостингов существует свой почтовый сервер и формы с таких плагинов как Contact Form 7 будут отправляться без дополнительных настроек. Но для лучшей работы и больше надежности лучше делегировать почтовый сервер на крупные сервисы, такие как Яндекс, Google, Mail.ru. Создание почтового сервера на таких сервисах называется почтой домена . Почта домена дает возможность создания почтовых ящиков вида: [email protected]

Почта домена на Yandex

  1. Нужно войти (или завести) в учетную запись Yandex.

    Домен будет привязан к этой учётке. Если нужно отдать доступ заказчику не стоит подключать к своему аккаунту.

  2. Переходим в сервис почта домена
  3. Указываем домен, для которого нужно создать почту, нажимаем подключить домен
  4. Делегируем домен на yandex, для этого прописываем у домена dns сервера yandex
    dns1.yandex.net
    dns2.yandex.net

    Либо создаем А-запись по инструкции, без полного делегирования. Второй вариант более предпочтительный, т.к. таким образом на Яндекс мы делегируем только почту.
  5. Через некоторое время нажимаем кнопку «Проверить владение доменом» (обычно несколько часов), и когда домен делегируется можно будет создать ящик (и не один).
  6. Заходим в ящик под созданным паролем и проходим краткую регистрацию, после этого ящик начинает функционировать.

Восстановление доступа к почте домена Яндекс

Если утеряны данные по аккаунту Яндекс к которому привязан домен, то чтобы перепривязать его к другому аккаунту нужно проделать следующее:

  1. Создать новую учетку Яндекс.
  2. Написать запрос в тех.поддержку Яндекс об изменении учетной записи к которой привязан домен. В форме необходимо будет указать 3 заведенных ящика (либо все если их 3 или меньше).
  3. Скорее всего поддержка предложит переслать на указанный при регистрации домена e-mail прислать код подтверждения. Узнать какой e-mail указан в виде администраторского нужно в личном кабинете, где куплен домен. Проверить отправку письма на e-mail можно из формы .
  4. Пересылаем код подтверждения сотруднику Яндекс и он привязывает домен на указанный новый аккаунт.

Перехват владения доменом на Яндекс

Можно создать на Коннект почту домена подтвердив права на него. При этом если для этого домена уже создана почта на Яндексе, то он предложит 2 варианта: восстановить права на домен, либо создать новую почту. Если выбран второй вариант, то по старому расположению домена почты перестанут работать и расширение сайта после @ у них измениться на техническое (пример: @site-ru-88888.yaconnect.com). Если вернуть права на домен на первоначальном аккаунте, то почта вернет обычный вид и снова будет работать.

Почта домена на Google

Все что надо знать о корпоративной почте на Google — она платная.

Настройка SMTP

Для корректной работы почты домена на сайте нужно установить плагин WP Mail SMTP и настроить его так:
From Email - адрес, с которого будут отправляться письма и на который получатель отправит ответ, нажав на кнопку «Ответить» в своей почте.

From Name - имя отправителя, можно указать название сайта или свое имя и фамилию.

Mailer - отправка писем через системный транспорт (функция mail()) или через SMTP-сервер. Выбираем «Send all WordPress emails via SMTP».

SMTP Host - адрес SMTP-сервера. Можно узнать у службы поддержки или в справочном разделе. Для Яндекс Почты используйте smtp.yandex.ru, для Gmail - smtp.gmail.com.

SMTP Port - порт SMTP-сервера, зависит от типа шифрования (Encryption). Для Яндекс Почты и Gmail используйте порт 465.

Encryption - тип шифрования. Для Яндекс почты и Gmail необходимо установить «Use SSL encryption».

Authentication - требуется ли выполнять авторизацию на почтовом сервере. Устанавливаем «Yes: Use SMTP authentication».

Username - логин от почты. Как правило, полный адрес почтового ящика, должен совпадать со значением, указанным в поле From Email.

Password - пароль от почтового ящика.

После сохранения настроек можно протестировать ящик (блок Send a Test Email). Мгновенно придет отчет все ли в норме.
The result was: bool(true) — все в порядке, если bool(false) — то надо смотреть логи.

Ошибки и решения

Ошибка: extension missing openssl (Отсутствует расширение OpenSSL).
Решение: отключить тип шифрования, сделать «Без шифрования» и соответственно изменить SMTP Port.

Ошибка: Could not authenticate (Не удалось выполнить аутентификацию).
Решение: зайти на подключаемый ящик, и проверить все ли в порядке, пройдена ли регистрация ящика.

Почта домена на хостинге

Крупные хостинги предоставляют свои почтовые сервера. Надо только найти данные по настройке SMTP.

Почта домена на mail.ru

У Mail.ru почта домена называется Почта для бизнеса.

1. Подтверждаем владение доменом одним из 3-х способов.
2. Прописываем в DNS домена MX-запись
Имя поддомена: @
Тип записи: MX
Данные: emx.mail.ru.

Стандартная отправка почты в WordPress осуществляется с помощью почтового сервера хостинг провайдера с помощью функции mail. Однако не все хостинг провайдеры включают использование этой функции.

К счастью, есть выход из этой ситуации – использование стороннего SMTP сервера.

Для того чтобы использование стороннего SMTP сервера стало возможным нужно установить соответствующий плагин.

В статьях в интернете обычно советуют использовать Configure SMTP (есть даже подробные инструкции по его использованию), но, на момент написания данной статьи, этот плагин уже 4 года не обновлялся и, следовательно, не тестировался на последней версии WordPress. Поэтому, если нет желания рисковать, тестируя плагин самостоятельно, лучше поискать альтернативу. Например, плагин Postman SMTP Mailer/Email Log

Устанавливается этот плагин самым обычным способом либо через админпанель WordPress либо путём скачивания zip-архива и его последующей распаковки в директорию wp-content/plugins.

После установки плагина появляется удобная панель управления.

Она позволяет:

  • Выполнить настройку плагина, в частности SMTP,
  • Отправить тестовое письмо по email (Send a Test Email);
  • Сбросить настройки плагина («Delete plugin settings»);
  • Проверить возможность соединения с заданным при настройке SMTP сервером («Run a Connectivity Test»);
  • Получить техническую информацию для диагностики проблем (для специалистов)(«Diagnostic info»);
  • Обратиться за поддержкой к разработчикам плагина («Online Support»);
  • Просмотреть список отправленных сообщений, если включена соответствующая опция («View the log»).

Одна из особенностей этого плагина, возможность настройки SMTP в режиме мастера (кнопка «Start the Wizard»). Это будет большим плюсом для тех, кто испытывает трудности с настройкой технической части.

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

На следующем шаге необходимо указать имя SMTP сервера, который будет использоваться. Например, smtp.mail.ru (если используете эту почту).

После этого плагин автоматически проверит доступность SMTP сервера.

И если проверка проходит успешно, можно остаётся только ввести имя пользователя и пароль.

Следует отметить, что в режиме мастера, плагин автоматически определяет порт, к которому следует подключиться и тип соединения (защищённое или нет).

Также можно выполнить все настройки вручную. К слову, в ручном режиме доступно больше настроек.

На вкладке Account выполняется настройка SMTP. Помимо тех настроек, что были доступны в режиме мастера, также можно задать порт, тип аутентификации и даже изменить протокол. Однако последнее актуально только для пользователей почтового сервиса Gmail, так как в качестве альтернативы поддерживается только Gmail API.

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

Остальные параметры не обязательны и при отсутствии необходимости их можно не указывать.

Вкладка «Logging» предназначена для настройки списка письма. Можно включить или отключить ведение списка («Enable Logging»), задать максимальное количество эле6ментов списка («Log Entries Limit», по умолчанию 10) и максимальное количество строк в описании технической информации о письме(«Transcript Size», по умолчанию 128).

Список отправленных писем (если включено его ведение)можно посмотреть перейдя по ссылке «View the log» на панели управления плагином.

Вкладка «Advanced» предназначена для настроек TCP соединения («Network Settings», лучше оставить значения по умолчанию), работы с журналом PHP («PHP Log Level», тоже лучше оставить по умолчанию) режима доставки писем («Delivery mode») и режима повышенной конфиденциальности («Stealth mode»).

Про режим доставки необходимо сказать особо. Должно быть обязательно выставлено значение «Log Email and Send». В противном случае письма просто не будут отправляться.

В заключение необходимо отметить один, надеюсь, очевидный нюанс. Какой бы Вы ни выбрали плагин для работы с SMTP, никогда не используйте рабочий email. Лучше потратить всего лишь на всего две минуты времени и завести новую почту специально для этих целей.

Я уже как-то писал о том как минуя серверный sendmail . На днях, в очередной раз столкнувшись с адскими серверными лимитами виртуального хостинга Ру-центра, снова оказался в поисках обходных путей.


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

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

Как видно на скрине - ничего сложно нет. Я думаю, на английском плагин будет настроить даже проще. Ну, а кому сложно, я кратко пробегусь по всем пунктам.

  • Send e-mail via Gmail? Если вы хотите использовать SMTP-сервер Гугла, ставьте галочку, и все настройки пропишутся автоматически. Без логина и пароля, разумеется.
  • SMTP host . Собственно, адрес SMTP-сервера. Например, в Ру-центре он mail.nic.ru, в Яндексе - smtp.yandex.ru. Адрес SMTP-сервера вы должны выяснить непосредственно у своего почтового сервиса.
  • SMTP port . Порт SMTP-сервера, как правило, указывается вместе с его адресом. Обычно это 25, 587, 465, 475 или 2525-й порт.
  • Secure connection prefix . Метод подключения аналогично нужно выяснить у своего почтового сервиса. В Ру-центре, например, нет никакой безопасности, поэтому данное поле оставляем пустым. В Google ставим SSL.
  • Use SMTPAuth? Нужно поставить галочку, если ваш SMTP-сервер требует авторизацию. Она нужна практически во всех почтовых сервисах.
  • SMTP username/SMTP password . Я думаю это понятно всем - логин и пароль доступа к SMTP-серверу.
  • Wordwrap length . Установка переноса слов. Понятия не имею кому это нужно.
  • Enable debugging? Включаем или выключаем дебаггер. Обычно нужно на этапе на разработки для отлова багов.
  • Sender e-mail/Sender name . Понятно и без перевода - это имя и адрес, которые будут фигурировать в качестве отправителя письма.

После того как все настройки введены, я настоятельно рекомендую вам протестировать работу плагина, нажав на кнопку «Send test e-mail». Если все сделано верно - вам придет письмо. Если письма нет - ищите ошибку в настройках. Плагин полностью рабочий и протестирован мною на WordPress 3.7.1 и локальном SMTP-сервере Ру-центра.

Добрый день дорогие друзья! Возникали ли у вас проблемы отправкой email писем через сайт на WordPress? Есть один способ решить ее, используя сервер Gmail SMTP и в этой статье мы расскажем как это легко сделать.

Почему и когда вам следует использовать Gmail SMTP сервер для сообщений WordPress

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

Большинство хостингов, предлагающих установку нашей CMS ограничивают использование данной функции для и лишней нагрузки на сервер.

СПАМ фильтры у некоторых почтовых сервисов настроены таким образом, чтобы проверять с каких аутентичных почтовых серверов отправляются письма. По умолчанию WordPress электронные письма не проходят данную проверку, а в некоторых случаях отправляют все это в СПАМ папку.

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

Сервис Gmail предоставляет SMTP технологию, которую вы можете использовать для отправки email с вашего WordPress сайта. Если вы хотите отправлять уведомления на свой почтовый ящик о зарегистрированный новых пользователях, то использование технологии SMTP будет лучшей опцией для вас. Однако если планируете отправление новостных рассылок с помощью WordPress, то тогда вам следует использовать сервисы по массовым отправкам писем, таких как MailGun или SendGrid.

Бесплатный или платный SMTP сервис для WordPress

Вы можете использовать в работе и бесплатную версию отправки писем по протоколу SMTP. Однако, для лучшей доставляемости мы рекомендуем пользоваться платными версиями Google Apps for Work. Благодаря этому сервису вы получите свой собственный брендированный адрес почты, вида yourname @ yoursite . com

Приложение Google затребует, чтобы добавили MX записи к вашему домену, что означает, что ваши сообщения будут 100% проходить проверку, т.е ваш канал отправки писем будет достоверным и значит все письма будут доставляться в папку Входящие, а не СПАМ.

Как отправить электронную почту с помощью WordPress Gmail SMTP-сервера

Если вы твердо решили пользоваться приложением Google Apps for Work, тогда первым делом вам нужно установить ваш для работы этим сервисом. Мы подготовили пошаговое руководство как создать профессиональный email адрес почты с данным сервисом.

Остальные инструкции одинаковы не важно используете ли вы платный или бесплатный вариант учетной записи Gmail.

Есть два способа, как подключить ваш WordPress сайт к серверам Gmail SMTP. Первый метод задействует Oauth Аутентификацию. Это более безопасный метод отправки email писем, используя Gmail сервера.

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

Метод 1: Настройка Gmail SMTP с использованием OAuth

Первое, что вам нужно сделать на этом шаге это установить и активировать плагин Gmail SMTP для WordPress. После активации идем в раздел Настройки (Setting)-> Gmail SMTP для конфигурирования некоторых опций.

Вы увидите уведомление, которые требуются от вас, чтобы создать веб приложение для вашего Gmail аккаунта и сгенерировать API ключи. Эти API ключи будут идентифицировать (определять) ваш сайт, как ресурс, использующий Gmail SMTP сервера.

Создание приложения и генерация API ключа

Эта ссылка приведет вас на страницу для разработчиков Google Developers. Вы должны войти под своими учетными данными в систему, которые вы хотите использовать для отправки email через WordPress сайт. После того, как вы вошли в систему, новый проект будет создан для вас с уже включенным Gmail API.

Кликайте на кнопку «Go Credentials» (перейти к проверке соответствия). На следующем экране вам будет предложено назвать откуда вы будете вызывать API. Вам нужно выбрать Web Browser (Javascript) из выпадающего списка. В разделе «Какие данные будете использовать для доступа» нужно выбрать пользовательские данные (User Data).

После этого нажмите на синюю кнопку «What credentials do I need?» чтобы продолжить процесс.

Мастер настройки Gmail теперь попросит вас предоставить URL адрес сайта, который будет использовать данный API. Под вкладкой «Authorized Javascript Origins» вам необходимо ввести адрес вашего сайта.

Под разделом «Authorized redirect URLs» вам нужно вставить адрес, показанный на странице настроек плагина Gmail SMTP в панели управления.

Затем нажмите на кнопку «Create client ID» (Создать идентификатор клиента) для продолжения.

Теперь вы находитесь на странице настроек OAuth. Просто введите ваш gmail адрес и имя вашего приложения, который используется для доступа в Gmail аккаунт. В вашем случае это будет ваше собственное имя сайта.

После того, как все сделано, нажимаете на кнопку Continue (Продолжить). Поздравляю вы успешно установили Gmail API с поддержкой OAuth авторизации. Вам нужно нажать на кнопку Готово (Done).

Сейчас вы увидите ваш клиентский идентификатор (приложения), которые вы создали для доступа к вашему Gmail API.

Кликните на имя вашего сайта или клиентского проекта для продолжения.

На следующем экране вы увидите клиентский ID и секретный ключ.

Просто скопируйте ключи и вставьте их в ваш Gmail SMTP плагин в настройках на WordPress сайте.

После этого заполните оставшиеся поля в настройках плагина. Вам нужно будет добавить запись email адрес почты Google в поле OAuth Email Address и в From Email Address, т.е сделать это два раза. Вы можете ввести свое имя или имя вашего сайта в поле «От имени» (From Name). Далее выбираете тип шифрования TLS и прописываете в качестве SMTP порта значение 587 и, наконец, нажимаете на кнопку сохранить изменения.

После обновления страницы настроек плагина, вам нужно спуститься в самый низ и нажать на кнопку «Grant Permission» (Предоставить разрешение).

Это приведет вас к аккаунту Google, где вам будет предложено дать разрешение вашему сайту для доступа к учетной записи Gmail. Нажмите на кнопку Allow (позволить), чтобы продолжить.

Вы будете перенаправлены обратно к настройкам плагина Gmail SMTP на вашем WordPress сайте. Обратите внимание, что теперь значок SMTP статуса будет гореть зеленым цветом.

На этом все. Вы успешно настроили отправку email писем через сервер Gmail SMTP. Теперь вы можете нажать на вкладку электронной почты и отправить самому себе письмо для теста.

Метод 2: Настройка Gmail SMTP с включенным менее безопасным приложением

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

Поскольку безопасность и СПАМ являются главной проблемой для большинства провайдеров электронной почты, то вполне возможно Google скоро откажется от этого метода. Если вы используете службы Google For Work, то тогда здесь вы можете позволить вашим пользователям управлять своим доступом к менее защищенным приложениям.

Посетите админ панель вашего домена в сервисе Google Apps. Перейдите в раздел Security -> Basic Setting (Безопасность – Основные настройки) и прокрутите скрол вниз до секции менее защищенные приложения.

Кликните на «Go to settings for less secure apps» для продолжения. На следующем экране выберите опцию рядом с «Allow users to manage their access to less secure apps» (Позволить пользователям управлять своим доступом в менее защищенном приложении). Не забудьте кликнуть на кнопку «Сохранить» в правом нижнем углу экрана.

Остальные инструкции одинаковы как для платных так и для бесплатных аккаунтов Gmail.

Просто посетите страницу настроек менее защищенных приложений в вашем Гугл аккаунте и включите данную опцию.

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

Прежде всего, необходимо установить и активировать плагин WP Mail SMTP . После активации переходим в Настройки (Setting) -> Email Page (Страница Email) для конфигурирования плагина.

Здесь вам нужно указать следующее:

  • From Email: Введите ваш Gmail адрес почты
  • From Name: Введите ваше имя или название вашего сайта
  • Mailer: Установите «Send all WordPress emails via SMTP» (Отправлять все письма через SMTP протокол)
  • Return Path: Установите данный чек бокс, чтобы использовать Email в качестве обратного адреса
  • SMTP Host: smtp.gmail.com
  • SMTP Port: 465
  • Encryption: использовать SSL шифрование
  • Authentication: Да, использовать аутентификацию.
  • Username: ваш полный почтовый адрес, например john @ yourdomain . com или john . smith @ gmail . com (меняете на ваш адрес почты)
  • Password: ваш пароль от Google аккаунта

Кликните на сохранение изменений, чтобы настройки вступили в силу.

После сохранения настроек прокрутите вниз до конца страницы и вы увидите кнопку «Send a test email» (Отправить тестовое письмо). Введите адрес электронной почты, чтобы убедиться, что все работает корректно.

Вот и все, вы успешно настроили ваш WordPress сайт для отправки email писем через протокол Gmail SMTP.

Устранение неполадок в работе Gmail SMTP

Мы видели ряд вопросов, что Gmail SMTP не работает с некоторыми конфигурациями виртуального хостинга.

Выполните следующие действия, чтобы устранить эти неполадки. Войдите в свой аккаунт хостинга и создайте учетную запись электронной почты, который соответствует адресу почты в Google Apps.

В своем аккаунте cPanel, перейдите к MX записям и измените маршрутизацию MX с автоматической на Remote. Это покажется несколько сложным шагом, ведь у каждого хостера свой пользовательский интерфейс cPanel, но обратите внимание на маленькую ссылку рядом с MX, которая называется Email Routing: Remote Mail Exchanger (Маршрутизация почты удаленного почтового сервера).

После этого войдите на ваш сайт и отправьте тестовое письмо.

Мы надеемся, что статья вам помогла. До новых встреч в следующих полезных выпусках блога!



Что еще почитать