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

Ошибка поиска DNS при переадресации на субдомен

Чтобы перейти на новый почтовый сервер с небольшими проблемами / простоями DNS, я установил второй постфикс, который в настоящее время доступен для записи mx поддомена, например. основной постфикс принимает почту для user@example.com, а второй постфикс также принимает почту для user@mx2.example.com.

Я добавил правило пересылки в postfix, в котором говорится, что postfix должен пересылать почту, предназначенную для user@example.com, на user@example.com (для обычной локальной доставки) и на user@mx2.example.com. Локальная доставка по-прежнему работает должным образом, но при попытке пересылки почты на новый mx постфикс добавляет часть домена в конец адреса пересылки, в результате чего получается user@mx2.example.com.example.com, что, конечно же, не работает и почта отскакивает.

Почему postfix так портит имя псевдонима и как это отключить?

Звучит сложно. Почему бы просто не снизить TTL для записи MX. Временно оставьте старый сервер нетронутым. Измените запись MX. Подождите, пока истечет TTL, и вы не подтвердите, что электронная почта поступает на новый сервер. Соберите всю оставшуюся электронную почту на старом сервере и, наконец, отключите старый сервер.

По умолчанию Postfix добавляет домен сервера в конец отправляемой локально почты. Это описано здесь: Параметры конфигурации Postfix: append_dot_mydomain (по умолчанию: да)

append_dot_mydomain (default: yes)
With locally submitted mail, append the string ".$mydomain" to addresses that have no ".domain" information. With remotely submitted mail, append the string ".$remote_header_rewrite_domain" instead.

Note 1: this feature is enabled by default. If disabled, users will not be able to send mail to "user@partialdomainname" but will have to specify full domain names instead.

Note 2: with Postfix version 2.2, message header address rewriting happens only when one of the following conditions is true:

The message is received with the Postfix sendmail(1) command,
The message is received from a network client that matches $local_header_rewrite_clients,
The message is received from the network, and the remote_header_rewrite_domain parameter specifies a non-empty value.
To get the behavior before Postfix version 2.2, specify "local_header_rewrite_clients = static:all".

Вы можете изменить правило пересылки почты, добавив точку в конце, или повернуть append_dot_mydomain выключен в main.cf.