5.3 Методи покращення репутації відправника електронної пошти

Що таке Репутація Відправника?

Репутація відправника електронної пошти відіграє важливу роль у доставці листів та їх визнанні отримувачами. Поштові сервери та фільтри спаму аналізують репутацію відправника для вирішення, чи варто доставити лист до вхідних або краще відсилати його до спаму. Репутація відправника залежить від різних факторів, таких як частота відправки листів, кількість скарг на спам, відповідність правилам аутентифікації (наприклад, DKIM та SPF), а також загальна репутація IP-адреси, яку Ви використовуєте для відправки. Підтримання хорошої репутації відправника є ключем до успішної відправки електронної пошти та ефективного спілкування з отримувачами. У цій статті ми розглянемо основні методи покращення Вашої репутації відправника.

Адреса відправника

Часта і найбільш базова помилка при відправці листів - невірно вказана адреса відправника. Ви можете створити поштові скриньки, додати всі можливі методи аутентифікації, використовувати для відправки виділений IP та при цьому вказати в адресі відправника зовсім іншу поштову адресу. Особливості протоколу відправлення листів SMTP дозволяють вам вказати в адресі відправника майже будь-що - навіть elon.musk@tesla.com. Інше питання - як таке лист врешті-решт буде сприйнятий поштовим сервером, який його приймає.

Ви багаторазово бачили в своєму житті адреси відправників при отриманні електронної пошти. Зазвичай це наступний вид рядка в заголовку електронного листа:

From: ivan.ivanenko@example.com

Адреса відправника складається з двох частин: локальної частини і доменної частини. Локальна частина зазвичай представляє ім’я користувача або назву скриньки на поштовому сервері, а доменна частина вказує на домен, до якого належить адреса електронної пошти. Під час використання SMTP завжди вказуйте в адресі відправника реально існуючу скриньку на основі Вашого домену, інакше будь-які подальші поради щодо поліпшення доставки листів не зможуть вам допомогти.

Увага: схожу за своєю суттю помилку можна допустити, використовуючи phpMail для відправлення листів. Якщо у налаштуваннях хостингу/сервера для PHP використовується не пошта на основі Вашого домену, а, наприклад, пошта на основі gmail - це радикально погіршить ймовірність успішної доставки Ваших листів.

Використання SMTP при масовій розсилці

Зазвичай масові розсилки електронної пошти здійснюються за допомогою функції mail() та існуючих на її основі phpMail і подібних. Але не всім відомо, що в скриптах відправлення за допомогою mail() можна також використовувати всі переваги SMTP, включаючи підвищену надійність доставки та багаторівневу аутентифікацію. Приклад скрипта з аутентифікацією SMTP наведено нижче:

// Підключення бібліотеки PHPMailer 
require 'path/to/PHPMailer/PHPMailerAutoload.php'; 

// Створення нового об'єкта PHPMailer  
$mail = new PHPMailer; 

// Налаштування параметрів SMTP 
$mail->isSMTP(); 
$mail->Host = 'smtp.example.com'; 
$mail->SMTPAuth = true; 
$mail->Username = 'client@example.com'; 
$mail->Password = 'client_password'; 
$mail->SMTPSecure = 'tls'; 
$mail->Port = 587; 

// Встановлення параметрів листа
$mail->setFrom('client@example.com', 'Client Name'); 
$mail->addAddress('recipient@example.com', 'Recipient Name');
$mail->Subject = 'Subject of the Email'; 
$mail->Body = 'This is the body of the email'; 

// Відправлення листа 
if (!$mail->send()) {     
    echo 'Error: ' . $mail->ErrorInfo; 
} else {
    echo 'Email has been sent successfully!'; 
}

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

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

// Налаштування параметрів SMTP 
$mail->isSMTP(); 
$mail->Host = 'localhost'; 
$mail->SMTPAuth = false; 
$mail->Username = 'client@example.com'; 
$mail->Port = 25;

Виділена IP-адреса

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

Проте, при використанні виділеної IP-адреси у Вас є повний контроль над її репутацією і Ви можете керувати відправленням електронної пошти незалежно від інших відправників. Це дозволяє значно підвищити рівень доставки листів і зменшити ризик їх потрапляння у спам.

Увага: замовлена вами виділена IP повинна бути встановлена для використання Вашим поштовим доменом для того щоб пошта дійсно почала відправлятися з неЇ.

PTR та Hostname

Якщо у вас є послуга віртуального/виділеного сервера, Ви отримуєте виділений IP за замовчуванням. Крім того, виділений IP можна замовити і для послуг хостингу. Працюючи з виділеним IP, слід звернути увагу на Hostname і PTR.

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

Для хостингу PTR можна змінити самостійно в панелі керування, в розділі Список IP-адрес. Для віртуальних серверів PTR можна змінити в кластерній панелі керування, в розділі IP-адреси. Також Ви завжди можете звернутися до служби підтримки для зміни PTR на Вашій IP-адресі.

Hostname - це ім’я, яке надається пристрою в комп’ютерній мережі, що є актуальним як для ОС Windows, так і для систем, які базуються на UNIX. Для надсилання листа, Hostname повинен бути налаштований так, щоб відповідати реальному доменному імені Вашого сервера. У деяких випадках, провайдери електронної пошти можуть перевіряти відповідність імені хоста та доменної назви, зазначеної в адресі відправника, і використовувати цю інформацію для рішення щодо доставки листів. На хостингу Ви не зможете змінити це ім’я.

Для доступу до цих налаштувань в Windows зазвичай потрібно клацнути правою кнопкою миші на значку Мій комп’ютер (або Цей комп’ютер у нових версіях Windows) на робочому столі або в меню Пуск, вибрати Властивості або Налаштування, а потім перейти в розділ Ім’я комп’ютера.

У системах, які базуються на UNIX, таких як Linux або macOS, Hostname зазвичай знаходиться в файлі /etc/hostname. Для зміни Hostname, зазвичай потрібно відредагувати цей файл за допомогою текстового редактора або використовувати спеціальну команду, наприклад, hostnamectl в Linux або scutil в macOS. Поточне ім’я сервера можна перевірити командою hostname.

В більшості випадків, для надсилання пошти PTR-запис і Hostname фактично повинні мати однакове значення.

SPF (Sender Policy Framework)

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

Щоб налаштувати SPF, вам потрібно створити TXT-запис у DNS-записі Вашого домену, вказавши дозволені сервери для відправки листів. Це допоможе зменшити ймовірність того, що Ваші листи будуть позначені як спам або відхилені одержувачем.

Можливий синтаксис SPF-запису поданий нижче:

SPF Запис Опис
SPFv1 Версія SPF-запису
v=spf1 Початок SPF-запису
include Включення додаткового домену у SPF-запис
ip4 Дозволені IPv4-адреси відправників
ip6 Дозволені IPv6-адреси відправників
a Дозволені A-записи домену відправника
mx Дозволені MX-записи домену відправника
ptr Дозволені PTR-записи домену відправника
include:_spf.example.com Приклад включення додаткового домену
ip4:192.0.2.0/24 Приклад дозволу IPv4-діапазону
a:mail.example.com Приклад дозволу A-запису

Наприклад, розглянемо наступний запис:

example.com.  IN TXT "v=spf1 include:_spf.example.com ip4:192.0.2.0/24 a mx ~all"
  • v=spf1 вказує на початок SPF-запису.
  • include:_spf.example.com включає додатковий домен _spf.example.com у SPF-запис. Перевірка SPF буде виконуватись для цього домену.
  • ip4:192.0.2.0/24 дозволяє відправку листів з IPv4-адрес у діапазоні 192.0.2.0/24.
  • a дозволяє відправку листів від серверів, зазначених у A-записах домену відправника.
  • mx дозволяє відправку листів від серверів, зазначених у MX-записах домену відправника.
  • ~all вказує на м’який відмов. Якщо лист не відповідає жодному з правил SPF-запису, він буде позначений, але все одно може бути доставлений.

Примітка: за замовчуванням SPF-записи створені для всіх доменів, припаркованих на нашому хостингу.

DKIM (DomainKeys Identified Mail)

DKIM - це метод аутентифікації електронної пошти, який дозволяє перевірити автентичність відправника та цілісність змісту листа. Цей метод базується на використанні криптографічного ключа, який додається до заголовка листа. Одержувач може перевірити цей ключ і переконатися, що лист був відправлений доменом, вказаним у заголовку, і не був змінений під час передачі.

Для використання DKIM вам потрібно згенерувати ключ і додати його до DNS-запису Вашого домену. Це дозволить поштовим серверам перевірити автентичність Вашої електронної пошти. DKIM підвищить ймовірність доставки листів у папку “Вхідні” одержувача, а не в спам.

Розглянемо приклад DKIM-запису:

example._domainkey.example.com.  IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2bgaY1cHPsZcscb     5A1E6sjXnx2hTdyHbCzm31Frc9oE4d0bfuUOjq6lc+NLXKwGOn8l 6zV6EK+sL9HvEKByuoDgFElF2r6xGudFhK4fC9K+jAKf9B3iYRiH SX8mrrzzWZnvnKYTpG8lWCocGZ5O5p7FhC7m+8FOXFUm9tuvAQIDAQAB"

У цьому прикладі:

  • example._domainkey.example.com. - це ім’я запису DKIM, яке повинно бути налаштовано в DNS для домену example.com.
  • IN TXT - вказує на тип запису TXT.
  • "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2bgaY1cHPsZcscb...AQAB" - це значення запису TXT, що містить параметри та публічний ключ для DKIM.

Внимание: Увага: за замовчуванням DKIM не створюється для всіх доменів, що припарковані на нашому хостингу. Для можливості генерації DKIM-запису на хостингу вам потрібно мати послугу хостингу із лінійки Преміум.Крім того, DKIM можна вільно використовувати на послугах віртуальних або виділених серверів.

DMARC (Domain-based Message Authentication, Reporting, and Conformance)

DMARC - це набір правил та методів аутентифікації, який поєднує DKIM і SPF для підвищення безпеки електронної пошти. DMARC дозволяє вам вказати, як поштові сервери повинні обробляти листи, які не пройшли аутентифікацію DKIM або SPF. Ви можете вибрати, щоб такі листи були доставлені, поміщені в папку “Спам” або повністю відхилені.

Щоб налаштувати DMARC, вам потрібно створити TXT-запис в DNS-записах Вашого домену, вказавши політику DMARC та адреси електронної пошти для отримання звітів про доставку. DMARC допомагає зміцнити доставку електронної пошти та захистити Ваш домен від підробки електронних листів.

Можливий синтаксис DMARC-запису представлений нижче:

DMARC Запис Опис
_dmarc Початок запису DMARC
v Версія DMARC
p Політика дій для листів, що не пройшли DMARC перевірку
rua Адрес(и) для відправки звітів про перевірку DMARC
ruf Адрес(и) для відправки звітів про листи, що не пройшли DMARC перевірку
fo Опції обробки листів, які не відповідають DMARC політиці
adkim Метод перевірки DKIM підпису
aspf Метод перевірки вирівнювання полів підпису
sp Дія для перевірки політик SPF
pct Відсоток листів, які підлягають перевірці DMARC
_dmarc.example.com.  IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com; ruf=mailto:dmarc-failures@example.com; fo=1; adkim=r; aspf=r; sp=reject; pct=100"

У цьому прикладі:

  • v=DMARC1 вказує на версію DMARC.
  • p=reject вказує на політику дій, в цьому випадку, відхиляти всі листи, які не пройшли DMARC перевірку.
  • rua=mailto:dmarc-reports@example.com вказує адресу, на яку будуть відправлятися звіти про перевірку DMARC.
  • ruf=mailto:dmarc-failures@example.com вказує адресу, на яку будуть відправлятися звіти про листи, які не пройшли DMARC перевірку.
  • fo=1 задає опцію обробки листів, які не відповідають DMARC політиці, для формування звітів.
  • adkim=r вказує метод перевірки DKIM підпису на ресурсі From (Відправник).
  • aspf=r вказує метод перевірки вирівнювання полів підпису на ресурсі From (Відправник).
  • sp=reject вказує на дію для перевірки політик SPF (в цьому випадку відхиляти листи, які не пройшли SPF перевірку).
  • pct=100 вказує відсоток листів, які підлягають перевірці DMARC (у цьому випадку, 100% листів).

Зверніть увагу: за замовчуванням DMARC не створюється для всіх доменів, припаркованих на нашому хостингу. Ви можете самостійно налаштувати DMARС для Вашого домену, однак без DKIM цей запис малоефективний.

Висновок

Покращення доставки електронної пошти за допомогою технічних засобів може бути критичним для ефективної комунікації з Вашими клієнтами. Реалізація DKIM, SPF, виділеного IP та DMARC дозволить вам збільшити ймовірність успішної доставки листів і запобігти їх потраплянню в спам. Переконайтеся, що Ви правильно налаштували ці засоби аутентифікації та захисту відповідно до специфікацій і вимог Вашого домену. Зверніть увагу, навіть дотримання всіх правил аутентифікації не гарантує прийому Вашого листа отримувачем, особливо якщо поточна репутація Вашої IP-адреси була зкомпрометована раніше.