Я использую кластер высокой доступности, и пока что большинство вещей работает отлично. У меня есть две внешние машины, которые действуют как хосты исходящей почты (smarthosts). Внутренние хосты настроены на ретрансляцию всей электронной почты через эти два внешних хоста.
Main.cf моего smarthosts выглядит так:
myhostname = lb1.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = lb1.example.com, localhost
relayhost =
mynetworks = 127.0.0.0/8 10.1.248.0/24
Main.cf моих внутренних хостов выглядит так:
mynetworks = 127.0.0.0/8
myhostname = web1.example.com
mydestination = $myhostname, localhost.$mydomain, localhost
relayhost = [10.1.248.3]
smtp_fallback_relay = [10.1.248.2]
Внутренний IP-адрес lb1 - 10.1.248.2, а внутренний IP-адрес lb2 - 10.1.248.3.
На внешних хостах электронная почта для корневых и www-данных пересылается на support@example.com с помощью / etc / aliases.
Одним из преимуществ использования настройки smarthost является то, что фильтры спама и тому подобное могут подключаться обратно к отправляющему серверу. Все письма отправляются нормально, а заголовки выглядят следующим образом:
Received: from lb2.example.com ([198.51.100.3])
by mx.google.com with ESMTP id y17si1571259icb.76.2011.01.13.18.20.32;
Thu, 13 Jan 2011 18:20:32 -0800 (PST)
Received-SPF: neutral (google.com: 198.51.100.3 is neither permitted nor denied by best guess record for domain of root@db1.example.com) client-ip=198.51.100.3;
Received: from db1.example.com (unknown [10.1.248.20])
by lb2.example.com (Postfix) with ESMTP id D364823C0BE
for <support@example.com>; Thu, 13 Jan 2011 21:20:31 -0500 (EST)
Received: by db1.example.com (Postfix)
id C9FA7760D6A; Thu, 13 Jan 2011 21:20:31 -0500 (EST)
Delivered-To: www-data@localhost
Received: by db1.example.com (Postfix, from userid 0)
id C1632760D6C; Thu, 13 Jan 2011 21:20:31 -0500 (EST)
Проблема в том, что письмо было возвращено / отклонено. Внешний компьютер пытается переслать электронное письмо обратно на внутренний компьютер, например www-data на web1, отправляющая электронное письмо, которое возвращается (например, пользователь регистрируется с неправильным адресом электронной почты).
Дополнительная сложность - использование почты Google для основного домена example.com.
Вместо указания каждого внутреннего хоста в mydestination внешних хостов, есть ли лучший способ настройки, имея в виду, что я не могу настроить касание mx для example.com?
Установите адрес отправителя на адрес, который может получать электронную почту. Электронная почта будет возвращена на адрес отправителя. Отправителем всегда должен быть адрес, на который можно получать электронную почту. Посмотрите варианты перезаписи заголовка в документации Postfix.