perfectowebСтудия дизайна и программирования
Блог Программирование

Письма попадают в спам?

Одной из наиболее распространенных проблем веб-мастера является доставка письма конечным адресатам. Данная статья о том, как правильно настроить сервер, скрипты и прочее во избежание попадания важных корпоративных писем в папку «Спам». Следуя данным инструкциям, вы минимизируете вероятность попадания ваших писем в папку с нежелательными сообщениями.

 

Правильные заголовки писем

Во-первых, при отправке любого письма посредством скриптов, остерегайтесь отсутствия заголовков. Если вы работаете с PHP, крайне не рекомендуем отправлять «голые» письма без заголовков по типу mail("mail@example.com", "My Subject", "My Message");
Именно письма такого рода с большой долей вероятности попадают в спам.
Качественное письмо должно содержать, как минимум, следующие заголовки:

  • From: Perfecto Web < hello@perfecto-web.com >
  • Reply-To: Perfecto Web < hello@perfecto-web.com >
  • X-Mailer: Php_libMail_v_1.5
  • Content-Type: text/html; charset=utf-8
  • Mime-Version: 1.0

Письмо должно содержать не только адрес отправителя, но и его имя или название организации. Также не забывайте об электронном адресе для ответа на письмо (Reply-to). В обязательном порядке необходимо указывать тип, кодировки (Content-Type) и программу (X-Mailer), с которой было отправлено письмо.

IP адрес программы для отправки письма должен быть идентичным с IP адресом домена.
Для формирования правильных заголовков можете использовать готовые библиотеки: PHPMailer, Swift Mailer, libmail.
 

Отправка через SMTP

SMTP - это протокол, используемый для отправки электронной почты.
Данный протокол отвечает за передачу данных между клиентом → сервером, сервером → сервером и сервером → клиентом.

Для начала вам необходимо создать электронную почту на вашем сервере, допустим info@website.com. Далее необходимо настроить PHP скрипт на аутентификацию через SMTP. В большинстве случаев настройки вашего SMTP бывают следующими:

  • Хост: mail.ваш_домен или smtp.ваш_домен
  • Порт: 25 (альтернативный порт 25025)
  • Имя пользователя: info@website.com
  • Пароль: ваш_пароль
Отправка писем через SMTP наиболее надежна.
Обратитесь к вашему системному администратору для получения информации о настройках вашего SMTP.
 

PTR записи

DNS используется для преобразования доменного имени в IP адрес, но он может также выполнить обратный процесс. Существует специальный домен in-addr.arpa, записи в котором используются для преобразования IP-адресов в символьные имена. Например, при запросе perfecto-web.com DNS-сервера направляют нас на IP адрес 178.208.75.66. Однако при работе с PTR идет обратная конвертация, при запросе IP 178.208.75.66 DNS сервера возвращают соответствующее символьное имя - perfecto-web.com.

Рекомендуем указывать PTR запись с названием домена отправителя.
Если вы не найдете настройки PTR в панели управления хостингом, уточните его расположение у вашего хостинг-провайдера.
 

SPF-записи

Если Вы являетесь владельцем VPS, VDS или же по каким-то причинам самостоятельно управляете DNS вашего домена, рекомендуем вам позаботиться о правильных SPF-записях для вашего домена. В запись SPF должен входить IP-адрес сервера, на котором располагается ваш сайт.
Если у вас в записях DNS отсутствует запись об SPF, впишите следующее:

Хост:ваш_домен.
Тип:TXT
Значение:v=spf1 a mx ip4:111.111.111.111 ~all

Обратите внимание, в поле хоста в конце домена необходимо ставить точку. Соответственно, вместо 111.111.111.111 вписать IP адрес вашего домена. Для одного домена рекомендуем указывать одну запись SPF.

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

Настройка DKIM

В общих чертах SPF и DKIM чем-то похожие технологии, так как обе преследуют цель подтверждение валидности отправителя.

DKIM - DomainKeys Identified Mail метод E-mail аутентификации.
Технология DomainKeys Identified Mail (DKIM) объединяет несколько существующих методов антифишинга и антиспама с целью повышения качества классификации и идентификации легитимной электронной почты. Вместо традиционного IP-адреса, для определения отправителя сообщения DKIM добавляет в него цифровую подпись, связанную с именем домена организации. Подпись автоматически проверяется на стороне получателя, после чего, для определения репутации отправителя, применяются «белые списки» и «чёрные списки». В технологии DomainKeys для аутентификации отправителей используются доменные имена. DomainKeys использует существующую систему доменных имен (DNS) для передачи открытых ключей шифрования.
Источник: Wikipedia

Итак, начнем. Для начала вам необходимо создать пару из публичного и приватного ключа. Сделать можно многими способами. Как пример, можно воспользоваться OpenSSL, но мы остановимся на онлайн сервисе port25.com. Переходим в раздел DKIM Wizard, в приведенных полях пишем доменное имя, селектор и выбираем размер ключа. В селекторе укажем «dkim», так как у нас всего один почтовый сервер. На сегодняшний день Gmail рекомендует 1024 битный ключ, в связи с чем, выберем его и нажмем «Создать ключ».
На следующем экране сервис нам выдаст публичный и приватный ключ, а также пошаговое руководство по настройке DKIM.

Публичный ключ
Добавляем запись в настройки DNS. Выглядит это примерно так:

Хост:dkim._domainkey.ваш_домен.
Тип:TXT
Значение:v=DKIM1; k=rsa; s=email; p=MIGfMA0GCSqGSIb4DQEBAQUAA4GNADCBiQKBgQDgS1AZb9K924hWLVyodfyaQShVyLY0HceJk9JWd+bA3g78a4cEilzZUFu4hBFSX1QGWrloDN/omwz89IfOxl1eUFtqRXiQBaKgBvwIH/qGkKoiGikYj+4ETbdBdHhjDLoNK8PH0YAmNZ2brllGPYEC60QYjf8LG6+KRff7n98RKQIDAQAB
Как вы заметили, «dkim» - это наш селектор, далее идет _domainkey, а после него – ваш домен (не забудьте в конце поставить точку).
В значении после «p=» идет непосредственно наш публичный ключ.

Приватный ключ
Изначально необходимо знать поддерживает ли почтовый сервер цифровую подпись DKIM. Практически, любая новая версия почтовых серверов ее поддерживает, в противном случае можете обратиться к вашему системному администратору или специалисту для установки почтового сервера с поддержкой DKIM.

Сохраняем ранее полученный приватный ключ в файл с расширением *.pem. В нашем случае получилось «dkim.perfecto-web.com.pem»
Вы можете сохранить ключ в /etc/pmta для Linux систем или в C:/pmta для Windows.
Далее необходимо настроить почтовый сервер для отправки писем с цифровой подписью DKIM используя данный приватный ключ.
 

Прочие рекомендации

Есть немало факторов, исходя из которых репутация письма, а впоследствии почтового ящика, может быть поставлена под сомнение.
  • Не рекомендуем отправлять письма с iframe !important
  • Не рекомендуем отправлять письма с JavaScript !important
  • Не рекомендуем отправлять письма с аплетами и Flash !important
  • Всегда ставьте описание alt для всех изображений в письме
  • Удалите «битые ссылки» на сайте, от имени которого отправляется письмо
  • Старайтесь, чтобы письмо корректно отображалось на любых устройствах
  • Не рассылайте письма людям, которые не подписывались на рассылку !important
  • Всегда вставляйте в письмо ссылку для отписывания, в случае, если делаете рассылку !important
  • Не пишите весь заголовок заглавными буквами !important
  • Используйте заголовок List-Unsubscribe для передачи ссылки для быстрой отмены подписки
  • Любое сообщение должно быть отформатировано в соответствии со стандартами RFC 5322 и HTML
 

Несколько полезностей

Like

Понравилась статья? Подпишись!

Письма попадают в спам?
Понравилось? Поделись с друзьями!
Подпишись
Следи за новыми постами в сфере веб-технологий
Комментарии: 0
Прочитали: 5,728
Дата: 12 Июн 2015

Выберите язык