Wp mail smtp


Если вы на своём сайте активно используете 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

Подключаем WP Mail 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 сервера. Вводим 465
  • Encryption — тип шифровки писем. Вводим Use SSL encryption
  • Authentication — авторизация. Выбираем Yes: Use SMTP authentication
  • Username — логин от почты. Значение должно совпадать с From Email

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

    Если SSL не сработал, можно попробовать следующие настройки:

    • Сервер smtp.yandex.com
    • Шифрование TLS
    • Порт 587

  • 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.

sheensay.ru

WordPressПривет! Сегодня хочу поговорить об одной очень распространенной проблеме, с которой часто сталкиваются веб-мастера, которые используют движок WordPress. Это проблема с отправкой почты (а точнее ее неотправкой). Когда-то я тоже сталкивался с такой проблемой у себя на блоге (тогда мне не приходили письма с бекапами базы данных). Теперь все чаще меня просят решить эту проблему на других сайтах, поэтому в этой статье я опишу самые распространенные пути решения данной проблемы.

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

За отправку почты в WordPress отвечает php функция mail(), с работой которой на некоторых хостингах возникают проблемы. Для начала опишу несколько простейших решений проблемы:

  • Во первых, поинтересуйтесь у вашего хостера, включена ли у вас такая функция mail().
  • Во-вторых, убедитесь, что в вашем профиле администратора указан e-mail адрес
  • И в-третьих, попробуйте создать на хостинге почту вида wordpress@ваш_домен (например wordpress@seostage.ru). Во всех письмах, отправляемых из worpress, в строке отправителя стоит именно этот адрес, но некоторые хостинги не дают отправить письмо с таким мылом, если фактически на сервере его нет.

Если после вышеперечисленных действий почта все еще не отправляется, тогда нужно заставить wordpress отправлять ее через smtp сервер. Для этого можно пойти двумя путями: с помощью плагина, и с помощью внесения изменений в код.

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

Плагин Configure SMTP

Как я сказал выше, если вы используете почту Google, то вам необходимо поставить галку Send e-mail via Gmail и заполнить поля SMTP username и SMTP password. Далее сохраняете настройки и  нажимаете кнопку “Отправить тестовое письмо” и ждете, пока письмо придет вам на почту. Причем придти оно должно по адресу, указанному в вашем профиле администратора, а ящик, который вы указали в плагине, является как-бы транзитным, то есть используется только для реализации отправки писем через smtp.


Если вы используете почту на другом сервисе, отличном от Google, то вам, помимо логина и пароля необходимо указать и другие настройки (галку Send e-mail via Gmail уже ставить не нужно)

В полях SMTP host и SMTP port указываете соответственно сервер и порт вашего почтового сервиса. Далее по желанию можно указать следующие настройки. Wordwrap length — количество символов в письме до переноса строки.  Sender e-mail и Sender name это адрес отправителя, который будет показываться в строке «От» и имя отправителя. Если же не указывать эти параметры, то они по-умолчанию будут браться из настроек вашего блога.

Если же вы не хотите нагружать свой движок дополнительными плагинами, тогда можно решить проблему, добавив изменения в код. Для этого необходимо открыть файл wp-includes/class-phpmailer.php и внести следующие изменения. (ниже представлены куски кода, в которые внесены изменения; — обозначает пропуск кода) Данный способ представил Lecactus

  var $From = "сюда вписываем e-mail";    ---    /**  * Method to send mail: ("mail", "sendmail", or "smtp").  

@var string */ var $Mailer = "smtp"; --- ///////////////////////////////////////////////// // SMTP VARIABLES ///////////////////////////////////////////////// /** * Sets the SMTP hosts. All hosts must be separated by a * semicolon. You can also specify a different port * for each host by using this format: [hostname:port] * (e.g. "smtp1.example.com:25;smtp2.example.com"). * Hosts will be tried in order. * @var string */ var $Host = "smtp.ваш_smtp_сервер.ru"; --- /** * Sets Mailer to send message using SMTP. * @return void */ function IsSMTP() { $this->Mailer = "smtp"; } /** * Sets Mailer to send message using PHP mail() function. * @return void */ function IsMail() { $this->Mailer = "smtp"; } /** * Sets Mailer to send message using the $Sendmail program. * @return void */ function IsSendmail() { $this->Mailer = "smtp"; } /** * Sets Mailer to send message using the qmail MTA. * @return void */ function IsQmail() { $this->Sendmail = "/var/qmail/bin/sendmail"; $this->Mailer = "smtp"; }

После всех вышеперечисленных действий проблемы с отправкой почты в wordpress, должны исчезнуть. Не забывайте подписываться на обновления моего блога. Желаю удачи! ?

seostage.ru

В чем проблема с WordPress PHP Mail?


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

Также ограничивать работу PHP mail могут некоторые хостинг сервисы. А еще конфликт может возникнуть при работе определенных security-плагинов.

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

Что такое SMTP?

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

Главное преимущество, которое вы получите при использовании SMTP — это практически 100% гарантия того, что письмо будет доставлено по адресу, и почтовые службы вроде Gmail не пометят его как спам, в отличие от писем, отправленных через PHP mail.

Все потому, что почта, отправленная через SMTP, подвергается определенной аутентификации, в отличие от PHP mail.

Еще одно преимущество SMTP на WordPress — это более персонализированная и брендовая почта.

Как отправлять WordPress почту через SMTP

Уже много времени стандартным плагином для работы с SMTP на WordPress считался WP Mail SMTP. Это популярный и хорошо зарекомендовавший себя плагин.

Но сегодня мы поговорим о другом плагине — Postman SMTP. И вот почему:

  • Postman SMTP использует очень простой мастер настройки
  • Вам не придется хранить пароль от почты в незашифрованном виде (!)
  • Плагин заменяет PHPMailer с Zend_Mail
  • Весь почтовый трафик записывается в логи, так что будет проще отследить проблему
  • Postman SMTP умеет отправлять почту через HTTPS, если ваш хост блокирует SMTP порты

Так что, мы считаем Postman SMTP более толковым и безопасным вариантом, чем WP Mail SMTP.

Шаг 1. Установите и активируйте Postman SMTP

Вы можете скачать бесплатно плагин Postman SMTP с официального каталога плагинов WordPress:

Postman SMTP — как отправлять Email с WordPress с помощью протокола SMTP» />

После активации перейдите в меню Настройки → Postman SMTP.

Шаг 2. Настройка параметров SMTP

У Postman SMTP есть удобный мастер по конфигурации, о чем мы уже упоминали. Просто нажмите на кнопку и выполните все шаги по очереди.

Postman SMTP — как отправлять Email с WordPress с помощью протокола SMTP» />

Мы покажем, как все сделать для настройки SMTP вашего сервера. Но вы также можете использовать сторонние SMTP службы, например Gmail или SendGrid.

В первую очередь вы должны указать email адрес, с которого будет происходить отправка, этот же email будет автоматически указываться в поле «From:»

Postman SMTP — как отправлять Email с WordPress с помощью протокола SMTP» />

Затем укажите hostname сервера для исходящей почты:

Postman SMTP — как отправлять Email с WordPress с помощью протокола SMTP» />

Чтобы найти outgoing hostname, вы можете зайти в cPanel вашего хостинга. В разделе Email Accounts найдите ваш email, который вы хотите использовать, и выберите Set Up Mail Client. Если вы еще не создали свой почтовый аккаунт, вы можете сделать это тут же в cPanel:

Postman SMTP — как отправлять Email с WordPress с помощью протокола SMTP» />

Затем опуститесь ниже к разделу Manual Settings и найдите блок настроек Secure SSL/TLS Settings. Ваш hostname исходящей почты будет указан как URL для Outgoing Server:

Postman SMTP — как отправлять Email с WordPress с помощью протокола SMTP» />

Как только вы укажете outgoing hostname, плагин выполнит дальнейшую конфигурацию и выдаст вам список доступных вариантов для выбора Socket:

Postman SMTP — как отправлять Email с WordPress с помощью протокола SMTP» />

Убедитесь, что вы выбрали вариант с правильным номером порта. Номер порта можно посмотреть там же в cPanel.

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

Postman SMTP — как отправлять Email с WordPress с помощью протокола SMTP» />

На этом все, вы настроили Postman SMTP!

Шаг 3. Отправка тестового Email

Чтобы убедиться, что все настройки сделаны правильно, вы можете отправить тестовое письмо из админки Postman SMTP:

Postman SMTP — как отправлять Email с WordPress с помощью протокола SMTP» />

И если все прошло удачно, вы получите email на адрес, который вы указали. Если вы получили письмо, значит SMTP настроен и работает!

Postman SMTP — как отправлять Email с WordPress с помощью протокола SMTP» />

Postman SMTP и сторонние Email службы

Как мы сказали ранее, можно использовать Postman SMTP вместе со сторонними Email службами, например Gmail. Вы сможете использовать Gmail и отправлять до 500 писем в сутки, для этого только потребуется создать API ключ.

Или можно использовать SendGrid, цены на который стартуют от $9.95 в месяц.

Мастер настройки Postman SMTP поможет вам настроить оба эти варианта.

Не используйте для почтовых рассылок!

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

Для почтовых рассылок лучше использовать сторонние сервисы, например MailChimp.

Итоги

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

Но если на сайте много пользователей, и к тому же вы используете плагины, которые рассылают почтовые уведомления, переход на SMTP может улучшить стабильность отправки и доставки ваших писем, потому как отправка через PHP Mail частенько может закончиться попаданием в Спам.

hostenko.com

Description

WordPress Mail SMTP Plugin

Having problems with your WordPress site not sending emails? You’re not alone. Over 1 million websites use WP Mail SMTP to fix their email deliverability issues.

WP Mail SMTP fixes your email deliverability by reconfiguring the wp_mail() PHP function to use a proper SMTP provider.

What is SMTP?

SMTP (Simple Mail Transfer Protocol) is an industry standard for sending emails. SMTP helps increase email deliverability by using proper authentication.

Popular email clients like Gmail, Yahoo, Outlook, etc are constantly improving their services to reduce email spam. One of the things their spam tools look for is whether an email is originating from the location it claims to be originating from.

If the proper authentication isn’t there, then the emails either go in your SPAM folder or worst not get delivered at all.

This is a problem for a lot of WordPress sites because by default, WordPress uses the PHP mail function to send emails generated by WordPress or any contact form plugin like WPForms.

The issue is that most WordPress hosting companies don’t have their servers properly configured for sending PHP emails.

The combination of two causes your WordPress emails to not get delivered.

How does WP Mail SMTP work?

WP Mail SMTP plugin allows you to easily reconfigure the wp_mail() function to use a trusted SMTP provider.

This helps you fix all WordPress not sending email issues.

WP Mail SMTP plugin includes four different SMTP setup options:

  1. Mailgun SMTP
  2. SendGrid SMTP
  3. Gmail SMTP
  4. All Other SMTP

For all options, you can specify the “from name” and “email address” for outgoing emails.

Instead of having users use different SMTP plugins and workflows for different SMTP providers, we decided to bring it all in one. This is what makes WP Mail SMTP, the best SMTP solution for WordPress.

Mailgun SMTP

Mailgun SMTP is a popular SMTP service provider that allows you to send large quantities of emails. They allow you to send your first 10,000 emails for free every month.

WP Mail SMTP plugin offers a native integration with MailGun. All you have to do is connect your Mailgun account, and you will improve your email deliverability.

Read our Mailgun documentation for more details.

Gmail SMTP

Often bloggers and small business owners don’t want to use third-party SMTP services. Well you can use your Gmail or G Suite account for SMTP emails.

This allows you to use your professional email address and improve email deliverability.

Unlike other Gmail SMTP plugins, our Gmail SMTP option uses OAuth to authenticate your Google account, keeping your login information 100% secure.

Read our Gmail documentation for more details.

SendGrid SMTP

SendGrid has a free SMTP plan that you can use to send up to 100 emails per day. With our native SendGrid SMTP integration, you can easily and securely set up SendGrid SMTP on your WordPress site.

Read our SendGrid documentation for more details.

Other SMTP

WP Mail SMTP plugin also works with all major email services such as Gmail, Yahoo, Outlook, Microsoft Live, and any other email sending service that offers SMTP.

You can set the following options:

  • Specify an SMTP host.
  • Specify an SMTP port.
  • Choose SSL / TLS encryption.
  • Choose to use SMTP authentication or not.
  • Specify an SMTP username and password.

WP Mail SMTP also gives you the option to insert your password in your wp-config.php file, so it’s not visible in your WordPress settings.

To see recommended settings for the popular services as well as troubleshooting tips, check out our SMTP documentation.

We hope that you find WP Mail SMTP plugin helpful.

Credits

WP Mail SMTP plugin was originally created by Callum Macdonald. It is now owned and maintained by the team behind WPForms – the best drag & drop form builder for WordPress.

You can try the free version of WPForms plugin to see why it’s the best in the market.

wordpress.org

Have you set up forms on your WordPress site, only to find that the emails aren’t getting delivered? It’s common to see email delivery issues in WordPress, but this can be fixed by using WP Mail SMTP for reliable, authenticated email delivery.

In this tutorial, we’ll show you how to use WP Mail SMTP to fix email delivery issues on your WordPress site.

  • Why Aren’t Emails Getting Delivered?
  • How to Fix Email Delivery Issues
  • SMTP Settings Overview
  • SMTP Settings for Popular Providers
  • Frequently Asked Questions and Common Issues

Why Aren’t Emails Getting Delivered?

There are two main reasons that WordPress emails don’t deliver successfully: server configuration and spam filtering.

WordPress, and WordPress plugins, will by default send email using the PHP mail() function. This is a simple way of sending email, and many WordPress hosting servers are not configured to use this mail() function.

In addition, your email provider checks all incoming email to determine if it should be allowed to deliver, sent to spam, or blocked entirely. One way it will do this is by checking if the email is originating from the same location it claims to be sent from.

For example, if your email server is gmail.com but your email claims to be sent from your website’s domain, your form notification may be blocked before it even reaches the spam folder.

How to Fix Email Delivery Issues

SMTP (Simple Mail Transfer Protocol) will fix email delivery issues by changing the way your emails are sent and properly authenticating them. SMTP is the industry standard for ensuring email deliverability, and WP Mail SMTP is the most flexible way to connect to many different SMTP services.

Below is a list of all of the ways you can use WP Mail SMTP to set up SMTP on your site, along with links to tutorials on each:

  • Gmail or G Suite: Works only with Google emails, more secure, no subscription
  • Mailgun: Works with any email, more secure, requires subscription
  • SendGrid: Works with any email, more secure, requires subscription
  • Other SMTP: Works with any email, less secure, no subscription

SMTP Settings Overview

SMTP must be able to connect to your email provider, which is why it requires additional setup through a plugin like WP Mail SMTP.

Unlike our other options which use APIs to allow this setup information to be stored with Google, SendGrid, or Mailgun, the Other SMTP option in WP Mail SMTP requires this setup information to be stored directly on your site.

Below, we’ll go into more detail on each of the fields required to set up an “Other SMTP” option in WP Mail SMTP.

Other SMTP: Fields Needed When Using Less Secure, Traditional SMTP

Other SMTP settings in WP Mail SMTP

SMTP Host
This is the the address to the host’s SMTP server.

SMTP Port
The most common ports are 587 and 465, however hosts can and do change these. It’s not uncommon for web hosts to block these ports, so before you begin it’s always good to verify with your web host that the required port is open. If closed, most of the time your hosting provider can open it for you.

Encryption
SSL and TLS are the most widely used encryptions. If your email provider offers both, we recommend TLS. It is worth noting that usually TLS encryption is used with port 587, while SSL is used with port 465.

Authentication
Modern email providers require authentication. Disabling it may be needed for local development or other edge case scenarios, however most providers need this turned on.

SMTP Username
Your username is typically your email address for the email provider; e.g. john@gmail.com or john@hotmail.com. Some providers such as AOL require the non-email format; e.g. if your email is john_doe@aol.com your username would be john_doe.

SMTP Password
This is your email account password. Please note although the password is not viewable in the settings, it is still stored in the database as plain text. This is required since establishing the SMTP connection requires sending the password in plaintext.

With this in mind, we highly recommend you set up your password in your WordPress configuration file, wp-config.php for improved security. For extra instructions, check out WPBeginner’s tutorial on how to edit the config file.

Here’s the code you’ll need to add:

  define( 'WPMS_ON', true );  define( 'WPMS_SMTP_PASS', 'your_password' );  

Then, you’ll just need to replace your_password with your actual password. When you save the file and refresh your SMTP settings page, you should see the Password field is now slightly greyed out and disabled since it’s no longer being used.

Disabled password field

SMTP Settings for Popular Providers

When filling out the fields mentioned above, the settings you’ll need will depend on your email provider.

Here are the SMTP settings you’ll need for the most popular email providers:

Gmail / G Suite SMTP Settings

Host: smtp.gmail.com
Port: 587 (or 465 using SSL encryption)
Username: Your Gmail account email address (e.g. john@gmail.com)
Password: Your Gmail account password
Encryption: TLS

Outlook.com SMTP Settings

Host: smtp-mail.outlook.com
Port: 587
Username: Your Outlook.com account email (e.g. john@outlook.com)
Password: Your Outlook.com account password
Encryption: TLS

Office 365 SMTP Settings

Host: smtp.office365.com
Port: 587
Username: Your Office 365 account email
Password: Your Office 365 account password
Encryption: TLS

Hotmail SMTP Settings

Host: smtp.live.com
Port: 587
Username: Your Hotmail account email (e.g. john@hotmail.com)
Password: Your Hotmail account password
Encryption: TLS

Yahoo Mail SMTP Settings

Host: smtp.mail.yahoo.com
Port: 465
Username: Your Yahoo Mail account email (e.g. john@yahoo.com)
Password: Your Yahoo Mail account password
Encryption: SSL

AOL SMTP Settings

Host: smtp.aol.com
Port: 587
Username: Your AOL screen name (e.g. john)
Password: Your AOL account password
Encryption: TLS

That’s it! By using WP Mail SMTP, you’ll be able to get your site’s email delivering successfully.

Still seeing issues when you try to connect with SMTP? Be sure to check out the section below for the most common questions and issues.

Frequently Asked Questions and Common Issues

My SMTP test email delivers successfully, so why aren’t my form notification emails delivering?
If your test email is successful, this means that the SMTP is all set. Instead, you’ll need to check the form’s notification settings by opening the form builder and going to Settings » Notifications. From here you can check all settings, but specifically note the From Email (remember, this must match the email used to set up the SMTP).

My site’s hosting provider is GoDaddy and I can’t get SMTP to work. What can I do?
In many cases, GoDaddy will by default block the ports required for SMTP. To address this, you’ll need to reach out to GoDaddy’s support to ask them to open up the port you need for your site.

Error: Could Not Open Socket
This usually happens when your web host is blocking the ports required to connect. Often times this is due to a firewall that is running. Contact your host and ask them to open the port being used. Also, double check the port and encryption settings, as accidentally using SSL over port 587 can trigger this error.

Error: smtp connect() failed
The connection to the SMTP host failed. Typically this error is returned when the SMTP settings are incorrect or the SMTP host is denying/blocking the connection for security purposes. Some hosting providers, such as GoDaddy, may specifically be blocking the port needed for SMTP.

Be sure to double check all of your settings, including your email and password. If the error persists, the best next step is to contact your site’s hosting provider to ask them to check for any server issues.

Error: Connection Refused
A firewall may be preventing the connection. Contact your web host and ask them to open the port being used.

Error: Mod_Security
“Not Acceptable! An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security.”

This error most commonly occurs when the server is blocking requests needed to run SMTP. To fix, you’ll need to contact your site’s hosting provider and ask them to disable specific rules within Mod_Security, which they would determine using server logs.

Error: 535 Incorrect authentication data
“SMTP ERROR: Password command failed: 535 Incorrect authentication data”

This error generally results from overly strict server permissions, which your hosting provider should be able to help resolve. For WHM/cPanel server management, you can specifically ask your site’s hosting provider to switch the “Restrict outgoing SMTP to root, exim, and mailman” setting from “On” to “Off”.

  • Still stuck? How can we help?
  • Last Updated on Jun 29, 2018

wpforms.com

Минусы отправки писем через системный транспорт

Как было отмечено выше, отправка писем в WordPress, по умолчанию, работает без дополнительных настроек, но цена этому весьма высока.

Письма могут попадать в спам

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

Письмо, отправленное через системный транспорт, не содержит дополнительных электронных подписей, которые могут свидетельствовать о надежности и легитимности отправителя. Пожалуй, многие знают, что любой человек может отправить письмо с чужого адреса, например, с admin@wpmag.ru не имея какого-либо доступа к самому домену и сайту.

Отправка писем через почтовый сервис позволит автоматически добавлять DKIM-подписи, свидетельствующие о надежности и легитимности отправителя. Отправляющие сервера (SMTP-серверы) Яндекс Почты и Gmail автоматически добавляют DKIM-подписи к каждому письму. С ними лишь владелец домена (и закрытого ключа DKIM) может отправлять письма с верными DKIM-подписями.

DKIM-подписи не отменяют того, что кто-то другой сможет отправить письмо используя ваш адрес (admin@wpmag.ru), но принимающий почтовый сервер будет видеть, что письмо отправил кто-то другой, а не владелец домена.

SPF-записи устанавливаются в настройках домена (DNS) и позволяют владельцу домена показать почтовым сервисам с каких серверов могут отправляться письма этого домена. Каждый почтовый сервис предлагает свою собственную SPF-запись со своим списком серверов. Если вы отправляете письма через Яндекс почту и делаете рассылки через Mailchimp, то необходимо совместить их SPF-записи в одну.

Письма могут пропадать

Еще один прием, который используется почтовиками для отсеивания плохих писем — это Greylisting. Здесь, в момент отправки письма, получающий сервер может ответить вашему сайту что-то вроде «я сейчас занят, зайди с этим письмом минут через десять». Сайт не знает что делать в таком случае — письмо было передано для отправки, на этом все, поэтому отправляемое письмо просто пропадет и не будет доставлено адресату.

Если ваше письмо отправляется почтовым сервисом, то ваш отправляющий сервер скажет «окей, гугл», отложит письмо в очередь неотправленной почты и будет пытаться доставить его еще несколько раз. Расчет прост — при отправке огромного количества почты за короткий промежуток времени, как это обычно делают спамеры, нет времени пытаться доставить письмо несколько раз.

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

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

Принципиальной разницы между отправкой через внешний почтовый сервис (Яндекс Почта, Gmail) или свой собственный SMTP-сервер нет. Это одно и тоже. Но если вы решили использовать свой собственный или выделенный хостингом SMTP-сервер, следует внимательно отнестись к его настройкам. Не забудьте установить правильные DKIM- и SPF-записи в настройках домена.

Google и Яндекс не запрещают отправку писем через свои сервера подобным образом, но имеют некоторые ограничения на количество отправляемых сообщений в день. Например, Gmail имеет явно указанное ограничение в 2000 писем в день. Яндекс не сообщает конкретных цифр, а служба поддержки намекнула, что этот показатель динамический.

Заметим, что на многих хостинг-площадках подключения к внешним серверам блокируются (информацию можно получить в поддержке хостинга или с помощью команды telnet). В этом случае можно попросить поддержку хостинга разрешить подключения. Иногда такие просьбы могут принять во внимание. Или использовать внутренний почтовый сервер предоставляемый хостинг-провайдером. Как правило, он будет работать даже быстрее, чем внешний, потому что обычно располагается на том же физическом сервере, что и ваш сайт (веб-сервер).

На личном опыте было замечено, что Яндекс Почта для домена не сохраняет письма отправленные через SMTP-сервер в папке исходящих сообщений, а Gmail сохраняет.

Плагин WP Mail SMTP

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

Активировав плагин, перейдите в раздел Настройки → Email в панели управления.

Займемся настройкой на странице Advanced Email Options. Ниже указано описание и необходимые значения для каждого пункта.

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 Test». На указанный адрес будет отправлено небольшое письмо, а на экране появится служебная информация с результатами. Проверьте, пришло ли письмо на указанный адрес? Если нет, то что-то настроено неправильно и WordPress не сможет отправлять письма.

С помощью полученного тестового письма можно проверить корректно ли настроены DKIM и SPF. Для этого откройте исходный код письма. В Gmail это называется «Show Original». В Яндекс Почте «Свойства письма».

В заголовках письма должна содержаться строка «Authentication-Results». Если DKIM и SPF настроены правильно, то вы увидите spf=pass и dkim=pass.

Authentication-Results: mx.google.com;   spf=pass (google.com: domain of mail@armyofselenagomez.com designates 2a02:6b8:0:1630::18 as permitted sender) smtp.mail=mail@armyofselenagomez.com;   dkim=pass header.i=@armyofselenagomez.com  

Яндекс почта показывает зеленую галочку рядом с письмом, если DKIM-подпись верна.

wpmag.ru

Почему не работает контактная форма WordPress?

Неподходящая тема или ошибка в теме

Частая проблема, из-за которой не работает контактная форма WordPress – неподходящая тема или же ошибки в Javascript-е темы. Для того чтобы понять, по этой ли причине у вас не работает форма обратной связи WordPress, нужно зайти в админку и выбрать вкладку «Темы». Там поменять шаблон на «тему по умолчанию» и после этого проверить работу отправки сообщений и внешний вид контактной формы. Если после этого сообщения отправляются, и почта работает – значит, нужно править ошибки в выбранной вами теме, так как из-за нее и не отправляется сообщение.

Несоответствие плагинов с Contact Form 7

Плагин для WordPress Contact Form 7 может не работать из-за того, что другие плагины на вашем сайте конфликтуют с ним, и в результате Вордпресс не отправляет почту. Чтобы исключить данную проблему – поочередно отключаем остальные плагины один за одним, каждый раз обновляя страницу обратной связи. Если после отключения одного из плагинов, контактная форма заработала, значит вы нашли корень проблемы. Ищите, чем заменить конфликтующий плагин. Если же вы отключили все плагины, а Contact Form 7 так и не работает, ищем ошибку дальше.

Письма попадают в спам

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

Проверить работу обратной связи без плагина

Вы можете протестировать отправку почты на своем блоге без участия плагина. Вот статья о том, как это сделать – «Форма обратной связи WordPress с плагином и без него». Это верный способ узнать, где спряталась ошибка – в самом плагине Contact Form, либо же она возникает непосредственно при отправке почты в WordPress.

Проблема вызвана хостингом

Чаще всего это выглядит так: сообщение отправляется, но не приходит на почту.

Бывает, что по какой-то причине (например, в случае атаки на сервер или же массовой рассылки писем) хостинг перестал отправлять письма. В этом случае настройка отправки почты на WordPress без участия вашего провайдера не обойдется. Необходимо связаться с технической поддержкой вашего хостинг-провайдера и выяснить причины проблемы. В данном случае вы не будете получать письма не только из контактной формы WordPress, но и сообщения о новых комментариях на блоге.

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

pro-wordpress.ru

После переезда на новый хостинг от компании CisHost я столкнулся с одной проблемой, которая была связана с тем, что при попытке отправить сообщение с блога через контактную форму выдавалась ошибка, и письмо админу блога (то есть мне) не приходило.

На помощь пришел плагин WP Mail SMTP, речь о котором пойдет далее.

В статье будут рассмотрены настройки плагина на примере хостинга CisHost.

Данный хостинг-провайдер не поддерживает функцию отправки писем с сайта php mail() в целях безопасности.

Чтобы настроить возможность отправки писем с сайта, необходимо создать новый почтовый ящик на вашем домене (Раздел E-mail-Почтовые ящики):

wp mail smtp

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

wp mail smtp

Далее в консоли управления блога установить плагин WP Mail SMTP, и настроить его следующим образом:

wp-smtp-mail

  • Указать адрес, от которого будут приходить письма;
  • Указать имя, от которого будут приходить письма;
  • Способ отправки — Send via SMTP;
  • SMTP Host — localhost;
  • Smtp Port — по умолчанию 25;
  • Encryption — выбираем No encryption;
  • Authentication — выбираем Yes: Use SMTP authentication;
  • Username — адрес созданного почтового ящика;
  • Password — пароль от созданного почтового ящика.

После чего необходимо внести правки в файл блога class-phpmailer.php, находящийся в папке wp-includes.

Открываем в редакторе, например NotePad++, находим следующую строчку:

и заменяем на:

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

Если сообщение было отправлено, значит все было сделано правильно.

makoveckij.ru


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.