Dobrovoi Master
сделано с душой
В состоянии постоянного подключения...

Плагин Configure SMTP — решение проблем с отправкой писем в WordPress

Плагин Configure SMTP — решение проблем с отправкой писем в WordPress

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

Накатил косяк с не отправкой писем, после переезда на новый хостинг и обновления движка . Тихо-мирно, после обновы, решил проверить форму обратной связи, а так же отправить бекап базы данных к себе на почту. Письма вроде бы и уходили, а в почтовом ящике тишина и спокойствие. Конечно я воспринял все это без истерики, уже привык к выкидонам движка. Перекурив и собравшись с мыслями стал искать решение и способ устранения неполадок.
Первым делом пробил свой хостинг на наличие поддержки функции mail (), все в порядке оказалось. Cтал искать способ для отправки писем через SMTP.
Решений как оказалось предлагают много, например Lecactus предложил немного подправить код в файле wp-includes/class-phpmailer.php. Вариант по исполнению отличный, но мне не помог.
Тут «понеслась душа в рай», в ход пошли один плагин за другим, ставил разные и много, но по тем или иным причинам отказывался от их использования.
Создание e-mail вида wordpress@имя_домена, по ряду причин тоже не принесло положительных результатов.
Когда стал закипать мозг и сходиться глаза в кучу, натолкнулся на неприметный такой плагинчик Configure SMTP. У нас описание этого плагина встретил лишь один раз и то поверхностное, может просто плохо искал. Решительно зашел к автору на сайт, почитал в меру своих знаний буржуинского и решил попробовать до кучи  еще и этот способ. Поставил плагин к себе на блог и несмотря на всю невзрачность и легковесность, помог «буржуинский бродяга» измученному Российскому пользователю, пошли письма на почту, и самое главное  стали  доходить  до адресата.

И так давайте подробно рассмотрим работу плагина для настройки SMTP рассылки в WordPress:

Configure SMTP

Плагин Configure SMTP используется для настройки SMTP рассылки в WordPress, в том числе поддержки отправки электронной почты через SSL/TLS (например, Gmail). Практически заставляет WordPress отправлять почту не через php-функцию mail(), через sendmail хостингового сервера, а через smtp какого-либо другого сервера.

Для начала работы следует скачать плагин с авторской площадки Configure SMTP. Затем по накатанной, установить плагин к себе на блог в папку с плагинами …wp-content/plugins, смело активировать его через «меню администратора Плагины» в WordPress и перейти к не хитрым настройкам, через админ панель SMTP, которая появится в админке после активации.
Настроек плагин содержит не очень много и вы без труда сможете со всем разобраться, для большей наглядности можете посмотреть скриншот панели управления6
 

Настройка Configure SMTP

 
Теперь давайте разберем по пунктам, что да как настраивать.

Send e-mail via GMail ? — Если желаете использовать службу Gmail для отправки почты, отмечаете галочкой и параметры Gmail выставятся автоматом, вам останется только ввести свое имя пользователя и пароль. В случае же использования другого сервера, прописываем параметры smtp своего почтового сервера и соответственно отмечать первый пункт не надо.

SMTP host — По умолчанию стоит «localhost» , если у вас не работает следовательно прописываете свой, например для Yandex — почты это будет smtp.yandex.ru

SMTP port — Номер порта, как правило это 25

Secure connection prefix — Выбор префикса для безопасных соединений SMTP через SSL или TLS

Use SMTPAuth? — Если Аутентификация установлена то необходимо предоставить имя пользователя SMTP и пароль, что и следует сделать в следующих пунктах.

SMTP username — Имя пользователя SMTP ( ваш почтовый ящик )

SMTP password — Просто пароль к вашей почте и все.

Wordwrap length — Задаете, если уж больно приспичит, число символов сообщения при переносе слов.

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

Sender e-mail — Наборы адресов электронной почты для всех исходящих сообщений. Оставьте пустым, чтобы использовать по умолчанию WordPress.

Sender name — Имя или список имен, от кого будут отправлены сообщения. Оставьте пустым, чтобы использовать по умолчанию WordPress.

Все, больше никаких настроек у плагина нет, он полностью готов к работе, осталось только сохранить все изменения, с уверенным видом нажав на кнопку «Save Changes»
В плагине присутствует очень полезная фишка, сразу после настройки, вам предоставляется возможность протестировать отправку электронной почты и удостовериться в правильности настроек вашего блога на работу с почтой. Для этого, в самом низу панели управления плагином, легким нажатием на кнопку «Send test e-mail» отправляется тестовое сообщение на ваш e-mail.
Проверяете почтовый ящик и любуетесь доставленной корреспонденцией в полном объеме.

Разработчики плагина нестоят на месте и оперативно выпустили в свет обновленную версию своего детища, это конечно радует. Для меня остается загадкой одно, почему сам обновленный движок WP 3.0.1 упорно продолжает игнорировать досадный глюк с отправкой писем.

Автор: Скотт Райли
Версия: 3.0.1
Последнее обновление: 2010-09-29
Совместимость: WP 2.8 — 3.0.1
Скачать обновленную версию: [ ZIP ]

В свое время, чисто для себя сделал перевод плагина configure-smtp 2.7, переводить там в принципе особенно и нечего, все интуитивно понятно и так, но хочется все же читать на родном языке о том, что делаешь в плане настроек. Так что кого заинтересует можете скачать и протестировать русскоязычный плагин Configure SMTP версии 2.7:

Скачать русскую версию плагина: [ ZIP ]
 

Немедленно после того, как письмо отправлено, в голову приходят свежие мысли. (закон письма)

Всего комментариев: 52

  • razgon: 31 мая, 2010 в 00:19

    Воспользовался плагином, действительно помогло, в связке с формой обратной связи так же все работает. Спасибо.

    Ответить
  • Оксана: 25 октября, 2010 в 23:39

    НУ ПОЧЕМУ МНЕ НЕ ПОМОГЛО???? Все установила, gmail проще простого настроить, сверила с аутлюк экспресс, все совпадает, логин и пароль по тыще раз на дню ввожу, не ошибусь И ВОТ ИТОГ-
    An error was encountered while trying to send the test e-mail.
    SMTP Error: Could not connect to SMTP host.Почему не мог? Все ж правильно ввела. И wordpress@mysite.ru не могу создать, бесплатный тариф не позволяет. HELP!!!!

    Ответить
    • driver: 30 октября, 2010 в 00:51

      Gmail настраивается автоматом, то есть host и port по умолчанию, вам нужно только выставить галочку подтверждения аутонтификации и ввести свои данные — почтовый ящик gmail и пароль. Работало даже на самом затрапезном из всех бесплатных хостингов.

      Ответить
  • mikesoup: 6 ноября, 2010 в 05:34

    у меня тоже не заработало. Причем ни с одного плагина. И с родной вордовской авторизацией тоже. Скорее всего я пропустил где то какие установки. Что мне надо проверить в первую очередь, на зосте, в самом ворде ??

    Ответить
    • driver: 6 ноября, 2010 в 17:39

      mikesoup
      На хосте проверить стоит поддержку функции mail ()… Ну а через Gmail должно все работать замечательно, так как плагин и создан для того чтобы заставить WordPress отправлять почту не через php-функцию mail (), фактически через sendmail хостингового сервера, а через smtp какого-либо другого сервера.
      В посте я все предельно доходчиво и внятно расписал, повторяться нет смысла, ставите галочку напротив Gmail, вводите свои данные и тестируете отправку письма.
      У меня на этом блоге работает именно этот плагин, проще и стабильнее его я пока не встречал…

      Ответить
  • mikesoup: 6 ноября, 2010 в 22:25

    На другом хосте работает…
    А как сделать чтобы плагин появлялся на странице или виджете ?

    Ответить
    • driver: 6 ноября, 2010 в 23:23

      Я так понял вам нужно поставить контактную форму на страницу контактов на вашем блоге «Новости Культуры»?
      Для этого нужен другой плагин, можете поставить Contact Form 7, отлично работает в связке с нашим плагином, легко настраивается, как внешний вид формы так и место где эта форма будет выводиться.

      Ответить
  • eavasi: 23 декабря, 2010 в 10:11

    Спасибо за этот плагинчик.
    У меня та же история, что и у автора. Переехал на американский хостинг. Перестал работать sendmail. Я об этом узнал только через три месяца после переезда. Спасибо, Wildo подсказад. С помощью этого плагина все отремонтировал.
    Отлично. Удачи всем и с наступающим Рождеством и Новым годом.

    Ответить
    • driver: 24 декабря, 2010 в 12:51

      Евгений, за отзыв и поздравления отдельное спасибо.

      Ответить
  • Владимир: 16 апреля, 2011 в 01:10

    Огромное спасибо!
    Все заработало с первого раза!

    Ответить
    • driver: 16 апреля, 2011 в 21:22

      Очень хорошо, что у вас Владимир, стало на одну проблему меньше.

      Ответить
  • Александр: 5 июня, 2011 в 19:59

    Спасибо, помогло, не пришлось перебирать плагины. Странно, что этого нет в самом wordpress, в Joomla есть настройки способа отправки почты

    Ответить
    • driver: 5 июня, 2011 в 23:20

      Рад что вам пригодилось.

      Ответить
  • SmileMan: 8 июля, 2011 в 19:53

    Спасибо огромное!
    Очень помогла Ваша статья!

    Ответить
  • annalustikova: 15 ноября, 2011 в 12:11

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

    Ответить
  • Turkina: 28 марта, 2012 в 15:20

    хотел поблагодарить вас за хорошие советы и подсказки, на dbmast.ru

    Ответить
  • land_driver: 15 апреля, 2012 в 19:22

    При тестировании выдает An error was encountered while trying to send the test e-mail.
    You must provide at least one recipient email address.
    Не могу понять, в чем дело

    Ответить
    • driver: 15 апреля, 2012 в 22:25

      Вы должны указать адрес получателя тестового письма, соответственно он должен находиться на Gmail

      Ответить
  • land_driver: 15 апреля, 2012 в 22:30

    Вы должны указать адрес получателя тестового письма, соответственно он должен находиться на Gmail
    И куда его указывать? По умолчанию она предлагает тот адрес, который прошит у меня в настройках. А на gmail-е предполагается адрес отправителя, а не получателя.
    У вас такое было, или это вы посто текст ошибки попытались перевести?

    Ответить
    • driver: 16 апреля, 2012 в 13:19

      land_driver, здравствуйте. А что тут пытаться переводить и так все понятно.
      Gmail настраивается автоматом, то есть host и port по умолчанию, вам нужно только выставить галочку подтверждения аутонтификации и ввести свои данные — почтовый ящик gmail и пароль. Работало даже на самом затрапезном из всех бесплатных хостингов.
      Если пользуете другую службу например Yandex, то убираете галочку у Send e-mail via GMail?, а у SMTP host выставляете smtp.yandex.ru и далее по пунктам. Для Mail.ru например SMTP host будет smtp.mail.ru. В статье же все черным по белому расписано )))
      Удачи!

      Ответить
  • land_driver: 16 апреля, 2012 в 13:24

    Спасибо, только вы сейчас описали функцию sender-а , а не recipient — а, в этом — то и проблема

    Ответить
    • driver: 16 апреля, 2012 в 19:12

      Да почему же функцию отправителя, если SMTP host как раз и есть сетевой протокол передачи почты, для приёма почты, используются протоколы POP3 или IMAP, например для Mail.ru это pop.mail.ru. Пропишите свой, и адрес своего почтового ящика, куда будет приходить почта, порт выставьте правильно. Все-о-о!!!! ))))

      Ответить
  • land_driver: 5 мая, 2012 в 13:42

    Мне удалось разобраться. Проблема была в ошибке в самом коде WP. К счастью, помог провайдер. Никакими настройками ее не вылечишь. На форуме поддержки WP в разделе про плагины у меня все подробно описано, где ошибка, и как она исправляется.
    Спасибо всем, кто пытался помочь!

    Ответить
    • driver: 5 мая, 2012 в 17:23

      land_driver. Очень рад за вас, нет таких проблем, которые совместно нельзя решить. Ваша информация будет полезна другим.

      Ответить
    • Виталий: 30 июня, 2016 в 18:04

      Доброго дня.
      А возможно получить ссылку на раздел форума, где подробно описывается решение проблемы? Мне никакие плагины не помогают победить изъян с отправкой писем на WP.

      Ответить
      • driver: 30 июня, 2016 в 21:14

        На форумах всё одно и то же. Для начала поинтересуйтесь у вашего хостера, включена ли у вас такая функция mail (). Убедитесь, что в вашем профиле администратора указан e-mail адрес. Ну и на конец, попробуйте создать на хостинге почту вида wordpress@ваш_домен
        Ещё, как вариант, внесение некоторых изменений в файл class-phpmailer.php, который находится в папке wp-includes
        Вот фрагмент кода этого файла, только то что изменяем:

        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”;
        }
        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”;
        }

        У данного решения один существенный минус, каждый раз после обновления движка wp, придётся вносить изменения

        Ответить
  • Сергей: 17 июня, 2012 в 22:35

    . На форуме поддержки WP в разделе про плагины у меня все подробно описано, где ошибка, и как она исправляется.
    Нужно было продублировать ссылку сюда, а то вдруг такая проблема не только у вас 🙂
    У меня вот тест не прошел. Тупо идет обращение к configure-smtp.php и застревание на этом, будто скрипт не докручивается.

    Ответить
  • Сергей: 17 июня, 2012 в 22:48

    нашел решение «застревания». Проверил логи ошибок HTML на хостинге и там увидел что скрипт блокируется в связи с отключенной на хостинге php функцией fsockopen (). Сейчас включил её, посмотрю что будет дальше, когда функция вступит в силу

    Ответить
  • alex: 22 июля, 2012 в 20:45

    А у меня как было SMTP Error: Could not connect to SMTP host. — так и осталось. Я же наcколько понял, что не важно какие настройки у хостера верно?.. у меня бесплатный американский хостинг — он мог запретить? и что конкретно?
    В чем может быть проблема? кто подскажет?

    Ответить
    • Irina: 28 марта, 2013 в 15:19

      Расскажите,пожалуйста,справились ли Вы с проблемой?У меня все галочки,буковки и т.п. на месте,а ошибка та же.

      Ответить
  • driver: 23 июля, 2012 в 00:34

    На хосте проверить стоит поддержку функции mail ()… Ну а через Gmail должно все работать замечательно, так как плагин и создан для того чтобы заставить WordPress отправлять почту не через php-функцию mail (), фактически через sendmail хостингового сервера, а через smtp какого-либо другого сервера.
    alex, ставите галочку напротив Gmail, вводите свои данные и тестируете отправку письма.

    Ответить
  • Марат: 28 марта, 2013 в 12:33

    спасибо большое))) выручили

    Ответить
  • Мила: 18 февраля, 2016 в 19:51

    Как сделать так, чтобы была форма для отправления файлов сайта.
    Вот пример. Какой посоветуете плагин.
    retropost.ru/postcards/send/2793.html

    Ответить
  • Андрей: 4 ноября, 2016 в 10:38

    Функция mail () перестает работать на хостах в случае превышения лимита оперативной памяти, после пика не всегда корректно начинает работать. Перезагружаем виртуальный хостинг и работает (но это не дело (( ). Можно поставить модуль phpmailer там таких проблем нет. Так же он имеет много настроек в частности настроить письмо можно очень точно для не попадания в спам.

    Ответить
  • serg: 4 февраля, 2018 в 22:41

    Подключал через данный плагин внешний смтп сервер, который покупал тут , подключил быстро, все работает! Спасибо! Теперь не болит голова о лимитах на бесплатных серверах!

    Ответить
  • Oleg: 26 сентября, 2018 в 04:48

    После того как посещаяемость из на сайта выросла пришлось к данному плагину крутить сервис Иначе хостер ругался на активность 25 порта

    Ответить

Оставить комментарий

Ваш email не будет опубликован.

Вы можете использовать следующие HTML тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>