Починаючи з 2022 року, Gmail (Google) та інші відомі поштові служби, такі як Outlook, Yahoo, Zoho, посилили методи захисту, щоб убезпечити своїх користувачів від спаму та неавторизованих листів. Щоб успішно доставляти листи, потрібно дотримуватись певного набору вимог, які встановлені цими поштовими службами для відправників.
Якщо відправник не повністю відповідає вимогам конкретної поштової служби, до якої відправляється лист, такий лист може бути відмічений як спам. В іншому випадку лист зовсім не буде доставлено, а вам у відповідь надійде повідомлення про помилку від поштового сервера, в якому буде зазначено причину недоставки.
Давайте розглянемо приклади найкращих практик для відправки електронних листів в Gmail. Нашим джерелом інформації буде офіційна документація Google, доступна за посиланням support.google.com/mail/answer/81126
1. Завжди використовуйте SMTP замість PHP MAIL
Найчастіше створюючи сайт, розробник для відправки листів використовує метод PHP MAIL (вбудована функція PHP), оскільки це простіше, не потребує додаткових налаштувань та дозволяє економити часу на розробці, про те даний метод не забезпечує того рівня безпеки, успіху доставки та рівня контролю, який пропонує SMTP (доменна пошта).
Для відправки листів клієнтам (стан замовлень, квитанції про оплату, відновлення доступу до акаунтів) завжди повинен використовуватись метод відправки SMTP.
Метод PHP MAIL варто використовувати тільки для відправки системних/тестових листів з сайту з метою налагодження його роботи, але не для ведення повноцінної кореспонденції. До змін у політиках доставки листів метод PHP MAIL міг забезпечувати доставку листів, хоч і з великим шансом потрапити в спам, про те наразі наполегливо радимо перевести сайт на відправку листів методом SMTP.
Для використання SMTP методу відправки створіть поштову скриньку на хостингу, а в налаштуваннях модуля відправки на сайті пропишіть хост, порти та протоколи безпеки, які можна знайти в блоці "Налаштування для поштового клієнта" розділу "Пошта" на хостингу. В цілому варто доручити питання переходу на SMTP спеціалісту, який займався розробкою сайту, оскільки це його профіль відповідальності.
2. Для домену, з якого відбувається відправка листів, необхідно мати обов'язкові записи DNS — DKIM та SPF, а записи повинні відповідати поштовому серверу, з якого відбувається відправка.
Якщо ви надсилаєте листи через сервер віртуального хостингу, ви можете налаштувати коректні записи DKIM/SPF згідно з цією інструкцією.
Переконайтеся, що для вашого домену існує лише один запис SPF. Якщо ви маєте два або більше таких записів, видаліть зайві або об'єднайте їх в один. Наявність більш як одного SPF запису для домену призведе до потенційного попадання листів в спам.
Якщо ви використовуєте VDS/DS сервер для відправки, коректні записи DKIM/SPF повинні бути створені безпосередньо на сервері. Наприклад, панель керування Hestia автоматично генерує ці записи. В іншому випадку, вам потрібно буде сконфігурувати їх у власних налаштуваннях сервера в залежності від програмного забезпечення, яке використовуєте.
Крім того, для VDS/DS серверів важливо наявність PTR запису DNS, який посилається на домен, з якого відбувається відправка листів. У даній інструкції описано, як встановити PTR запис.
3. У листі важливо, щоб заголовок "Від кого" (FROM) відповідав домену або сайту, з якого відбувається відправка.
Якщо ви використовуєте метод PHP MAIL для надсилання листів через сервер віртуального хостингу, заголовок FROM обов'язково має бути визначений у вашому скрипті відправки або в налаштуваннях вашого сайту. Якщо таке налаштування відсутнє, ви можете визначити заголовок FROM за допомогою параметра sendmail_path у налаштуваннях PHP для відповідного сайту.
4. Використайте сервіс mail-tester.com
mail-tester.com — це сервіс для виявлення можливих проблем з відправкою листів та їх налагодження. Цей сервіс надає можливість визначити проблемні аспекти, які потребують вирішення.
Для використання мейл-тестера перейдіть на їх веб-сайт та скопіюйте надану електронну адресу. Потім відправте листа зі свого веб-сайту на цю адресу та натисніть кнопку "перевірити". Наприклад, якщо ви не отримуєте повідомлення про замовлення товару з вашого сайту, ви можете замовити товар за допомогою тієї самої електронної адреси мейл-тестера, щоб сервіс аналізував листа з точки зору вашого клієнта.
Якщо лист успішно надісланий до мейл-тестера, вам буде запропоновано переглянути детальний звіт разом з рейтингом доставки листа. У звіті будуть вказані аспекти, які необхідні для успішної доставки листа в папку "вхідні", такі як налаштування DKIM, SPF, PTR, рейтинг домену, відсутність коректного заголовку FROM та інші фактори.
5. Здійсніть незалежне тестування самого факту відправки листів
Якщо виникають підозри, що листи не відправляються з сервера, рекомендується виконати перевірку шляхом використання тестових php-скриптів, які використовують потрібний вам метод відправки, такий як PHP MAIL або SMTP, як це описано в інструкції.
Якщо тестовий php-скрипт успішно відправляє лист та доставляє його до тестової скриньки, то варто продовжити роботу з налаштуваннями відправки на рівні DNS-записів домену та налаштувань сайту.
В умовах віртуального хостингу можуть існувати обмеження щодо відправки листів в деяких випадках, наприклад, під час використання тестового періоду хостингу або через блокування зовнішніх підключень через наявність шкідливого коду на сайті.
6. Зверніть увагу на додаткові джерела інформації
Спам: чому там опиняються листи і як цього уникнути
Що робити, щоб листи користувачам Gmail не блокувалися і не позначалися як спам
Всі категорії питань