Контекст.
У меня есть несколько доменов веб-сервисов, размещенных на дроплете Digital Ocean (Ubuntu и Nginx в стеке). Видимо, DO автоматически устанавливает запись PTR. Однако, когда я запрашиваю
host <IP_ADDRESS>
[...] not found: 3(NXDOMAIN)
Droplet использует postfix, настроенный как where inet_interfaces = all inet_protocols=ipv4
, при этом mydestination
включает в себя размещенные домены веб-сервисов (как с префиксом www, так и без него). Эти домены отправляют электронные письма через sendmail
и хост, определенный какscheduler.sending.ws
DNS и почтовая служба работают через второго провайдера (который НЕ является регистратором записи для домена второго уровня). Во-первых, я заметил, что запись A указывает на правильный IP-адрес, но с опечаткой. schedule.sending.ws
Это можно исправить, хотя я не уверен, что это полностью относится к делу.
Запись MX правильно указывает на второго провайдера. mail.sending.ws
Также имеются две записи TXT для @
и , admin
указывающие на
v=spf1 a mx ptr include:someserver.net ~all
.
Это приводит к созданию писем со следующим заголовком:случайныйдомен, определенный в mydestination
файле postfix main.cf:
Received: from www.other.ws ([IP_ADDRESS]:46818)
Таким образом, две разные ссылки на отправку, ситуация, которая легко может привести к тому, что письмо будет помечено как спам.
прошу прощения за мое полное замешательство и нарушение протокола, когда я задаю несколько вопросов
Мое текущее предположение таково:
а) нужно ли устанавливать новую запись TXT DNS для домена-эмитента, например: v=spf1 a mx include:scheduler.sending.ws include:someserver.net ~all
?
б) если а) верно, то, естественно, запись A должна быть исправлена
в) несоответствие в заголовках все еще должно быть устранено. Но это, безусловно, должно быть указано приложением (и, следовательно, конкретным доменом), подготавливающим электронное письмо с одним из доменов, определенных postfix... подыграет ли postfix?
отсутствуют ли какие-либо данные для надлежащего решения этой проблемы?
решение1
В целом, вам действительно следует следовать некоторым руководствам, чтобы сделать рабочую базовую настройку, а не пытаться случайным образом настраиваться с недостаточным пониманием того, как работает электронная почта. В конце концов, администрирование системы электронной почты — сложная, трудная задача в наши дни. Для тех, у кого нет большого опыта и особых потребностей в собственном почтовом сервере, рекомендуется использовать внешний сервис, который имеет все необходимые системы предотвращения спама и обработки репутации отправителя из коробки.
Чтобы ответить на ваши отдельные вопросы и дать руководство по изучению технологий, стоящих за ними. В этом ответе давайте используем www.example.com. A 192.0.2.1
как веб-сервер и mail.example.com. A 192.0.2.2
как почтовый сервер для входящей почты. Оба должны отправлять почту, но только mail.example.com
получать ее, верно?
а) Нет. SPF
include
механизмне предназначено для этой цели.include:scheduler.example.com
означает, что есть еще правила, т. е. другая запись SPF вscheduler.example.com. TXT
. Поскольку такой записи, вероятно, нет, это вызовет PermError, что может привести к отклонению сообщения.Запись SPF должна разрешать все серверы, которые будут отправлять почту для соответствующего имени хоста. Если вы используете
example.com
, у вас есть это наexample.com. TXT
, дляwww.example.com.
наwww.example.com. TXT
. Рекомендуется использоватьip4
иip6
механизмы, когда это возможно, так как это требует меньше DNS-запросов при проверке SPF. Это приведет к:example.com. IN TXT "v=spf1 ip4:192.0.2.1 ip4:192.0.2.2 ~all" www.example.com. IN TXT "v=spf1 ip4:192.0.2.1 ip4:192.0.2.2 ~all"
б) Для доставки входящей почты
scheduler.example.com. A
не имеет значения, если она не использовалась в качествепочтовый обменникнапримерexample.com. MX scheduler.example.com.
, но, вероятно, толькоmail.example.com.
если вы используете его какHELO
имя хоста, вам следует иметьA
запись, чтобы избежатьНесоответствие баннера SMTP.в)
HELO
Имя хоста соответствует параметру конфигурации Postfixsmtpd_banner
. По умолчанию он имеетmyhostname
как переменная ie то же самое, что иmyhostname
. Этоmydestination
не имеет к этому никакого отношения, и nothing выбирает случайное имя хоста из этой настройки: это для доставки почты, а не для ее отправки.Имя хоста
HELO
должно иметь соответствующуюA
запись и рекомендуется, чтобы оно совпадалоPTR
с IP-адресом. Оно не должно совпадать сотправитель конвертадомен, ниFrom:
адрес заголовка. В многодоменном почтовом сервере это тоже было бы невозможно.
Для проблем с работоспособностью почтового домена рекомендуется использовать фактический домен, чтобы мы могли проверить, что происходит. Этот вопрос широкий и неопределенный: на него невозможно дать точный или общий ответ.