Здесь проблемы. У моего сервера 3 IP-адреса, и это мой / etc / hosts:
127.0.0.1 localhost
46.38.235.226 brian.smares.de brian
46.38.238.199 stewie.smares.de stewie
46.38.238.137 mail.smares.de mail
постфикс настроен с
inet_interfaces = localhost, $myhostname
mynetworks = 127.0.0.0/8
mydestination = localhost
myhostname = mail.smares.de
mydomain = smares.de
myorigin = $mydomain
Если я отправлю электронное письмо, источник будет читать
Received: from mail.smares.de (pelikansal.at. [46.38.235.226])
pelikansal.at является целью rDNS для 46.38.235.226.
Я не понимаю, почему этот IP используется вместо 46.38.238.137. Полное доменное имя моего сервера - brian.smares.de, которое будет отображаться на адрес 226, но это ли причина?
Любые идеи?
При отправке электронного письма параметр, используемый для управления исходящим IP-адресом, был smtp_bind_address
. Поэтому вы должны явно установить параметр smtp_bind_address
на один IP-адрес.
Ваша конфигурация выше, вы уже изменили inet_interfaces
параметр. Он только устанавливает, какой IP-адрес будет получить письма на.
Однако параметр inet_interfaces
может также повлиять smtp_bind_address
если бы этих трех условий было достаточно:
smtp_bind_address
пусто (по умолчанию)inet_interfaces
иметь только ОДИН IP-адрес IPv4inet_interfaces
список не был замкнутым.Когда это случилось, smtp_bind_address
знак равно $inet_interfaces
.
Поскольку вы установили два IP-адреса в inet_interfaces
, затем smtp_bind_address
все еще было пусто. В таком случае, smtp-клиент использует 0.0.0.0 в качестве своего IP-адреса, а 0.0.0.0 (INADDR_ANY) означает, что ядро выберет IP-адрес в зависимости от того, куда идет пакет. Из этот SO поток по Реми Лебо, он говорит
Если клиент не привязан к определенному IP-адресу или привязан к INADDR_ANY, сокет будет использовать первый найденный IP-адрес, имеющий доступный маршрут к IP-адресу сервера, к которому выполняется подключение.
Итак, в вашем случае понятно, что ядро выбрало 46.38.238.137 для исходящего соединения.