Colobridge WIKI

почтовые серверы отвергают мою почту

Применимость:

Слова для поиска:


Серверы электронной почты, получающие почту с вашего сервера, по различным причинам и признакам могут определять ваши сообщения как нежелательную почту и отбрасывать без сожаления.

Описанные здесь методики подходят только для использования на легальных почтовых серверах предназначенные для рассылок сообщений реальным подписчикам. Если вы рассылаете спам то в спам попадете обязательно и ваши рассылки будут уходить в никуда.

Прежде чем двигаться дальше убедитесь что ваш сервер не рассылает спам.

Вы можете и не знать о том, что ваш сервер это делает.

В этом случае вашу почту заслуженно заблокировали или отбросили.

Это возможно в двух случаях:

  1. Ваш сервер настроен как Open Relay (сервер принимающий и передающий почту от неограниченного круга лиц).
  2. Злоумышленники используют уязвимость в ваших вебприложениях для рассылки почты. Это могут быть например почтовые формы без авторизации. Могли просто подобрать пароль одного из пользователей для рассылки почты от его имени.

Рекомендации:

  • Проверьте ваш сервер на Open Relay и наличие адреса сервера в блоклистах.
  • Следите за статистикой работы вашего почтового сервера (awstats, pfqueue).
  • Не рассылайте спам

Практически все почтовые системы защищены антиспам-фильтрами, но эти фильтры пока не достигли 100-процентного уровня блокирования без ложных срабатываний.

Сообщения отправленные вашим сервером обычно проходят несколько проверок на принимающей стороне до того как попадут в почтовый ящик адресата. В каждом конкретном случае может быть по разному. Я опишу основные и наиболее часто используемые.

На первом этапе будет проверен IP адрес вашего сервера по следующему набору параметров:

  • Географическое положение (geoip).Некоторые серверы исключают получение почты из некоторых регионов - китай, бразилия и т.п.
  • Наличие адреса в блоклистах RBL или DNSBL. В большинстве подобных случаев отправитель получит об этом уведомление которое содержит информацию о причинах отказа принять почту и что сделать чтобы исключить сервер из черного списка. Текст сообщения обычно на английском.
  • IP адрес вашего сервера должен преобразовываться в символьное имя сервера, например mail.domain.com. Это обеспечивается наличием обратной DNS записи (PTR Record, Backresolve).
  • Если вы используете динамический IP адрес и подключаетесь к интернету по коммутируемой линии, например adsl, то провайдеры обычно присваивают вашему адресу имя содержащее adsl, dsl, dialup или ppp. По этому признаку часто почта отвергается. Считается, что почтовый сервер должен иметь постоянное соединение с интернет.
  • Эта запись проверяется на совпадение с тем именем которое называет ваш сервер в диалоге SMTP при установлении соединения (параметр myhostname). По умолчанию MTA использует имя хоста, но оно может не совпадать с PTR записью.
  • Проверяется наличие имени отправителя в MX записи домена. Имеет ли право данный сервер отправлять почту от имени домена?
  • Если имени нет в MX записи, то проверяется SPF запись. Там должно быть указано имя или IP адрес данного сервера.
  • Если сделать whois <ваш_домен> должен быть виден реальный адрес, имя владельца, телефон и email владельца домена. Если этого нет, вас считают спамером.

Рекомендации:

  • Используйте фиксированный IP адрес.
  • Проверьте реверсивную запись PTR (RDNS) вашего сервера командой host <IP адрес>
  • Проверьте MX запись командой host -t MX <имя домена>
  • Проверьте SPF запись командой host -t TXT <имя домена>
  • Установите соответствие myhostname и имени RDNS
  • Используйте SPF
  • Внесите правильные регистрационные данные в whois.

Смысл этой проверки - удостоверится в существовании E-Mail адреса отправителя, что бы лишить спамера возможности влить вам спам от имени несуществующих E-Mail адресов. Согласно RFC 821/2821 адрес отправителя предъявляемый в команде «MAIL FROM:» SMTP-сессии обязан существовать, что бы на него можно было доставить сообщение о доставке/недоставке/ошибке (Delivery notification), да и просто странно выглядело бы письмо, если на него невозможно ответить стандартным нажатием кнопки почтового клиента. Передачи тела «проверочного» письма не происходит, «проверочная» SMTP-сессия фильтра с удаленным сервером проходит только до стадии «RCPT TO:»

Если сообщения рассылает ваш вебсервер, то вероятно они уходят с обратным адресом вида www-data@<ваш хост>.<ваш домен>. Разумеется такого адреса не существует на вашем вебсервере.

Рекомендации:

  • Удостоверьтесь что ваш вебсервер рассылает сообщения с правильным адресом отправителя.
  • Настройте маскировку субдоменов.

postconf -e masquerade_domains=«mydom.com» Это исключит отправку почты с обратным адресом вида www-data@host.mydom.com. С этой опцией адрес www-data@host.mydom.com будет заменен на www-data@mydom.com

Вколючите маппинг:

postconf -e smtp_generic_maps=hash:/etc/postfix/generic

Укажите в /etc/postfix/generic:

www-data@mydom.com      postmaster@mydom.com
www-data@host.mydom.com postmaster@mydom.com

Вместо postmaster@mydom.com используйте адрес реального почтового ящика

Выполните:

postmap /etc/postfix/generic
service postfix restart

Иногда почтовые серверы бывают перегружены и не могут принять письмо. Как вы думаете, что они отвечают на входящие запросы в этом случае? Как ни странно так и отвечают - сервер временно недоступен, попробуйте позже. Ни один нормальный отправитель никогда в этом случае не посчитает, что письмо доставить нельзя со всеми вытекающими последствиями. Напротив, отправитель предпримет попытки доставить письмо позже, поставив его в свою очередь на отправку. Этот факт можно (и без сомнения нужно!) очень эффективно использовать: при каждой первой попытке соединения с незнакомого хоста наш сервер будет отправлять сообщение о временной ошибке, а пропускать письмо только со второго раза. Это отсеет сразу чуть ли не весь оставшийся спам, поскольку спамсерверы практически никогда не предпринимают больше одной попытки доставки письма (иначе они бы просто «упали» от переполнения очереди). Эта технология называется Greylisting, и использовать её в современных реалиях просто необходимо.

Минусом применения является небольшая (обычно не более получаса) задержка в доставке писем при первом соединении от неизвестного хоста. То есть если ещё не известный нам сервер хочет передать письмо, то при первой попытке соединения ему отправляется ошибка о временной недоступности. Если сервер повторил попытку соединения - то письмо принимается, а сервер заносится в список надежных узлов и в дальнейшем письма от него принимаются без задержек.

Рекомендации:

  • Следите за журналом почты вашего сервера.

После успешного прохождения предыдущих проверок сообщение принимается и подвергается тщательной проверке на предмет признаков спама.

Все письмо, включая заголовки, подвергается анализу строка за строкой. Его цель - поиск определенных признаков спама. Набор проверок и определение их значимости регулируется администратором сервера. Каждый признак имеет свой весовой коэффициент.

В результате оценивается сумма всех признаков и в случае превышения порогового значения сообщение может быть признано спамом, промаркировано как спам или отвергнуто.

  • учитывается язык использованный в сообщении
  • учитываются «неправильные» и/или «фальсифицированные» заголовки
  • присутствие определенных слов, фраз и их сочетаний. Фильтр поддерживает обучение по методу Байеса.
  • оцениваются факты нарушений стандарта Формата почтового сообщения (RFC-822).
  • оценивается факт наличия в теле сообщения языка разметки или формата позволяющего включать опасные или подозрительные элементы может быть причиной отбрасывания почты.
  • сообщения с вложениями исполняемых файлов, программ и скриптов скорее всего будут отброшены даже без проверки на вирусы и прочее.
  • оцениваются факты наличия в сообщении ссылок, изображений и прочих элементов оформления которые могут использовать для рекламы.
  • могут использоваться проверки SPF/SenderID и прочие признаки доверия к серверу отправителя.

Рекомендации:

  • Убедитесь, что ваши вебприложения формируют сообщения в корректном формате.

Если в почтовой программе пользователя электронной почты включены опции противодействия спаму, но после получения сообщения в почтовый ящик последуют новые проверки. Пользователь при чтении сообщения иногда может случайно нажать кнопку «Спам» и адрес отправителя попадет в черный список. Все следующие письма от этого отправителя будут удаляться автоматически без лишних вопросов.

Найдите в параметрах программы кнопку «удалить параметры обучения». Это может решить проблему.

  • Все ваши IP должны быть зарегистрированы черезFBL (FeedBack Loop). FBL - это стандарт автоматических уведомлений, отсылаемых провайдером электронной почты отправителю рассылки о поступившей на его письмо жалобе. Стандарт FBL поддерживают крупные зарубежные провайдеры услуг электронной почты, такие как Yahoo и Hotmail. Обрабатывая FBL-отчеты, интернет-сервис может автоматически отписывать пользователей от рассылок, подчищая свою базу, формируя постоянную аудиторию заинтересованных подписчиков и снижая нагрузку на свои серверы. Когда пользователь нажимает на кнопку «Спам», сервис создает отчет об этом действии. В него включают информацию о письме, которое пользователь добавил в «спам», и адрес почтового ящика пользователя.
  • У вас обязательно должен быть почтовый ящик abuse@<ваш_домен> который вы должны каждый день читать. При отсутствии ответа ваш сервер включат в черный список.
  • Полезно использовать DKIM/Domainkeys цифровые подписи для всех Ваших исходящих писем и желательно DMARC для мониторинга.
  • Вы должны предоставлять пользователю возможность отписаться от Ваших рассылок в один клик.
  • У вас должны быть прозрачная и доступная Политика конфиденциальности (Privacy Policy).
  • Для массовых рассылок вы не должны использовать мейлхабы и анонимайзеры.