Конфігурація smtp в wordpress - wp magazine

Головна → Модулі → Конфігурація SMTP в WordPress

Якщо на вашому сайті відкрита реєстрація або є форум з оповіщенням, то сайт напевно відправляє чимало листів по електронній пошті. Всі вони, за замовчуванням, відправляються через стандартний системний транспорт. Такий простий підхід не вимагає додаткових налаштувань, а листи відправляються вельми швидко. Однак, це накладає і серйозні недоліки.

З ростом кількості листів і їх важливості такий підхід вже з натяжкою можна назвати допустимим і нерідкі випадки виникнення проблем. Наприклад, ваші листи, відправлені сайтом, можуть потрапляти в спам або не доходити до одержувача взагалі.

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

Як було зазначено вище, відправлення листів в WordPress, за замовчуванням, працює без додаткових налаштувань, але ціна цього вельми висока.

Листи можуть потрапляти в спам

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

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

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

Листи можуть пропадати

Якщо ваш лист надсилається поштовим сервісом, то ваш відправляє сервер скаже «окей, гугл», відкладе лист в чергу невідправленої пошти і буде намагатися доставити його ще кілька разів. Розрахунок простий - при відправці величезної кількості пошти за короткий проміжок часу, як це зазвичай роблять спамери, немає часу намагатися доставити лист кілька разів.

Чи не дійти лист може і в разі, якщо отримує сервер просто на час вимкнений або втратив доступ до мережі. Тому відправка листів через SMTP більш надійна.

Відправлення листів через SMTP

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

Плагін WP Mail SMTP

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

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

Конфігурація smtp в wordpress - wp magazine

Конфігурація плагіна WP Mail SMTP

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

From Name - ім'я відправника, можна вказати назву сайту або своє ім'я та прізвище.

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

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

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

Password - пароль від поштової скриньки.

За допомогою отриманого тестового листа можна перевірити чи коректно налаштовані DKIM і SPF. Для цього відкрийте вихідний код письма. У Gmail це називається «Show Original». В Яндекс Пошті «Властивості листа».

Конфігурація smtp в wordpress - wp magazine

У заголовках листа повинна міститися рядок «Authentication-Results». Якщо DKIM і SPF налаштовані правильно, то ви побачите spf = pass і dkim = pass.

Конфігурація smtp в wordpress - wp magazine

Перевірка цифрового підпису

Корисні матеріали і висновок

Відправлення листів через SMTP-сервер більш надійний і правильний спосіб доставляти листи. Щоб використовувати SMTP не обов'язково розбиратися з налаштуванням і адмініструванням поштових серверів. Сервіси Яндекса і Google добре справляються з поставленим завданням і для невеликого проекту це те, що треба.

Налаштування DKIM і SPF - тема для окремої статті. Керівництва по налаштуванню, як правило, можна знайти в довідкових розділах поштових сервісів або дізнатися у служби підтримки хостинг-провайдера.

Прошу вибачення. Якось втратив з поля зору цю задачу. В інтернеті пишуть що:

Іншими словами, як показано нижче і було помічено - потрібно вказати той же е-мейл, що і в налаштуваннях WP Mail SMTP :)

Судячи з того що треба вводити API-ключ, так, це не SMTP, а просто HTTP запити як я розумію для взаємодії з Mandrill. А потім вже сам Mandrill відправляє листи :)

Можна так і так. В одному випадку ключ передається як параметр в урле, а в другому як пароль.

Дякую що підняли таку важливу і потрібну тему.
Дійсно, зі стандартним отправщіком пошти в вордпресс є проблеми з доставкою пошти. Особливо якщо пошту відправляються не пордпрес, а наприклад сторонній плагін, такий як Contact Form 7.

Сторонні плагіни (bbPress, BuddyPress), як і сам WordPress, відправляють листи за допомогою wp_mail (). Я не знайомий з Contact Form 7 але пошук по коду показує, що виклики функції wp_mail () також зустрічаються, значить він відправляє листи через неї :)
Обмежень від Яндекса або Гугла ніяких немає, як було зазначено в статті, вони не забороняють використовувати пошту в таких цілях. Однак, є обмеження на кількість листів, що відправляються (див. Статтю). Що буде в цьому випадку я, на жаль, не знаю. Підтримка Яндекса не відповіла на це питання :)

В гуглі також іноді не дозволяють підключення, тому що в настройках треба включити можливість підключення через сторонні додатки (або якось так). За замовчуванням це у деяких вимкнено.

У мене не вийшло проключіть відправку через яндекс. Все робив правильно кілька разів ... але безуспішно ... поставив Configure SMTP відправка заробила через SMTP хостера сайту движок Вордпресс

поки політ нормальний листи приходять моментально і не в спам ... що далі подивимося ...

ось ця комбінація букв на зрозуміла

Добрий день. У мене наступна проблема: на сайті вже встановлена ​​одна форма зворотного зв'язку для відправки повідомлень за допомогою плагіна contact form 7 і прекрасно працює. Додав ще одну для зворотного дзвінка на цей же поштовий ящик. Видає помилку: Помилка при відправці повідомлення: "Будь ласка, спробуйте пізніше або зверніться до адміністратора сайту." Перша працює як годинник. У чому причина, підкажіть будь ласка?

Дуже технічне питання. Потрібно дивитися що відбувається саме в коді. Ймовірно щось з чимось конфліктує або перезаписує значення (параметри).

Можна, але потрібно десь роздобути поштовий сервер, який буде обслуговувати ці ящики. В принципі, Яндекс ПДР на кшталт дає 1000 ящиків за замовчуванням. Щоб отримати більше, там, якщо мені не зраджує пам'ять, треба в особисту переписку з підтримкою вступати і просити розширити ліміт.
Можна і на своєму хостингу (сервері) ящики реєструвати.

Скажи Коля, в разі використання smtp.yandex.ru реалізація додавання в лист підписи DKIM вшита в плагін або підпис додається серверами Яндекса?

DKIM підпис додає сам SMTP-сервер (і у Гугла, і у Яндекса). В принципі, мені здається так і повинно бути, хоча теоретично є можливість додавати підписи і через PHP.

Схожі статті