Назад | Перейти на главную страницу

Postfix не разрешает запись MX

Журнал

to=<x.y@example.com>, relay=none, delay=21311, delays=21301/0.04/10/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=localdomain type=MX: Host not found

ОС: FreeBSD

Когда я запускаю следующую команду на своем постфиксном клиенте, она разрешается. mail.p.example.com размещает наш постфиксный сервер, который затем ретранслирует электронные письма в gmail smtp.

host -t MX p.example.com
p.example.com mail is handled by 10 host.p.example.com.

Я сравниваю свою конфигурацию postfix с рабочей конфигурацией на другом хосте, и они такие же.

inet_protocols = ipv4
mynetworks_style = host
inet_interfaces = loopback-only
relayhost = $mydomain

В конфиге есть нечто большее, чем то, что я вставил выше, но ничего не связанное с DNS. smtp_host_lookup не был установлен (значение по умолчанию = dns).

У меня нет файлов resolv.conf в / var / spool / postfix. Был бы признателен за любые указания о том, как postfix разрешает записи DNS.

Ага, теперь проблема очевидна:

relayhost = $mydomain

Вы настроили Postfix для доставки всей почты на $mydomain, который установлен на localdomain.

В вашем описании указано, что вы хотели пересылать почту в Gmail, поэтому ваш relayhost должен быть установлен на соответствующий Имя хоста Google для этой цели, например:

 relayhost = [smtp-relay.gmail.com]:25

или

 relayhost = [smtp-relay.gmail.com]:587

и ваш smtp_sasl_password_maps должен указывать на файл, содержащий ваши учетные данные Gmail, если вы используете аутентификацию SMTP.

hostname -f не разрешал полное доменное имя на узле, вызывающем проблемы. его единственное разрешение на короткое имя. На хостах, где работают клиенты postfix, его разрешение в FQDN

имя хоста уже было установлено в /etc/rc.conf.d/hostname. Мне просто пришлось перезапустить службу имени хоста. угадайте, кто-то вручную установил имя хоста / имя домена, выполнив команды вместо использования инструментов управления конфигурацией.