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"

Учтите: DKIM-записи уникальные для доменов и копирование записи из примера для Вашего домена только ухудшит доставляемость писем!

В этом примере:

  • 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-адреса была скомпрометирована ранее.