Почтовый сервер FreeBSD.org начал возвращать письма с такой ошибкой:
Reporting-MTA: dns; akira.domain.org.ua
…
X-Postfix-Sender: rfc822; ***@domain.kiev.ua
…
Action: failed
…
Remote-MTA: dns; mx1.freebsd.org
Diagnostic-Code: smtp; 450 4.7.1 Client host rejected: cannot find your hostname, [77.***.***.40]
Аналогичные записи в логе – /var/log/maillog:
postfix/smtp[47728]: 92B2651088: to=<*****@freebsd.org>, relay=mx1.freebsd.org[8.8.178.115]:25, delay=293780, delays=293778/0.01/1.1/0.21, dsn=4.7.1, status=deferred (host mx1.freebsd.org[8.8.178.115] said: 450 4.7.1 Client host rejected: cannot find your hostname, [77.***.***.40] (in reply to RCPT TO command))
Как правило, ошибка Client host rejected: cannot find your hostname означает несовпадение записи MX домена и PTR-записи для IP -адреса сервера.
Проверим:
$ dig domain.kiev.ua MX | grep mx
domain.kiev.ua. 600 IN MX 30 mx0.mail5.freehost.com.ua.
domain.kiev.ua. 600 IN MX 20 mx0.domain.org.ua.
mx0.domain.org.ua. 3600 IN A 77.***.***.40
mx0.mail5.freehost.com.ua. 383 IN A 194.0.200.222
И запись про IP:
$ dig -x 77.***.***.40
…
;; QUESTION SECTION:
;40.106.120.77.in-addr.arpa. IN PTR
…
;; ANSWER SECTION:
40.106.120.77.in-addr.arpa. 86400 IN PTR akira.domain.org.ua.
…
Другой способ:
$ host 77.***.***.40
40.106.120.77.in-addr.arpa domain name pointer akira.domain.org.ua.
Разница сразу видна – akira.domain.org.ua и mx0.domain.org.ua..
Теперь достаточно сменить PTR-запись у владельца IP-адреса (в данном примере – у Дата-центра, в котором расположен сервер), подождать обновления DNS – и проблема решена.