>[оверквотинг удален]
> Промотаю документацию чуть вверх и сцитирую, специально для читающих по-диагонали:
> reject_unknown_helo_hostname (with Postfix < 2.3: reject_unknown_hostname)
> Reject the request when the HELO or EHLO hostname has no DNS
> A or MX record.
> The unknown_hostname_reject_code parameter specifies the numerical response code for
> rejected requests (default: 450).
> The unknown_helo_hostname_tempfail_action parameter specifies the action after a temporary
> DNS error (default: defer_if_permit).
> Нет ни одного слова про то, что оно обязано совпадать с client
> hostname, реверсом, и т п.Однако, ошибки доставки вида
server refused to talk to me: 550 Reverse DNS lookup failed for host ip.ad.dre.ss (port 25)
если HELO/EHLO не совпадает с reverse DNS query, к сожалению, реальность.
В то же время RFC1123 гласит:
5.2.5 HELO Command: RFC-821 Section 3.5
The sender-SMTP MUST ensure that the <domain> parameter in a
HELO command is a valid principal host domain name for the
client host. As a result, the receiver-SMTP will not have to
perform MX resolution on this name in order to validate the
HELO parameter.
The HELO receiver MAY verify that the HELO parameter really
Internet Engineering Task Force [Page 50]
RFC1123 MAIL -- SMTP & RFC-822 October 1989
corresponds to the IP address of the sender. However, the
receiver MUST NOT refuse to accept a message, even if the
sender's HELO command fails verification.
DISCUSSION:
Verifying the HELO parameter requires a domain name lookup
and may therefore take considerable time. An alternative
tool for tracking bogus mail sources is suggested below
(see "DATA Command").
Note also that the HELO argument is still required to have
valid <domain> syntax, since it will appear in a Received:
line; otherwise, a 501 error is to be sent.
Судя по всему, многие MTA (исходно или после дополнительной настройки) не вполне соответствуют RFC1123, отвечая 550 в случае, если HELO parameter really !NOT! corresponds to the IP address of the sender.
С другой стороны, основание для проверки только "valid <domain> syntax" сейчас немного смешно - необходимость делать ресурсоемкий (некешируемый по определению!) реверсный ДНС запрос на каждое входящее соединение для серверов с пиком в 10-100 соединений в секунду при канале 100 МБ/с некритично, IMHO. Эпоха модемов, к счастью, позади...
Резюмируем:
Сервер отправителя ОБЯЗАН в HELO/EHLO писать корректное имя хоста.
Сервер-получатель обязан принимать письмо, если в HELO/EHLO любое имя хоста-отправителя.
Практика показывает - многие администраторы почтовых серверов выдают таким нарушителям код 550 при несоответствии. Ну или 450, в частности, через check_client_access в postfix (см. greylist).