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

Настройка sendmail в качестве многодоменного сервера ретрансляции

У меня есть несколько разных серверов, на которых работают разные ОС, и каждый обрабатывает электронную почту для определенных доменов. Поскольку у меня есть только один общедоступный IP-адрес для них, я хотел бы настроить свой сервер на базе CentOS таким образом, чтобы он принимал только входящие сообщения для определенных доменов из внешнего мира, а затем ретранслировал эти сообщения на соответствующий внутренний сервер на основе домена получателя.

Я не хочу взламывать DNS для этого. Я знаю, что могу просто создавать зоны на сервере CentOS с записями MX, указывающими на правильные внутренние адреса, но это немного путаница. Мне нужна эта машина, чтобы продолжать использовать общедоступные версии зон каждого домена, так что это не вариант. В качестве примечания, все правильные записи MX уже указывают на мой общедоступный IP-адрес.

Я немного читал об умных таблицах и вроде проверяется только домен отправителя. Я могу ошибаться в этом, поэтому не исключаю этого.

Возможно ли такое решение с помощью Sendmail? Если да, то какие параметры конфигурации и функции позволят мне это сделать? Образцы были бы очень признательны.

Мы делаем именно это.

Вам нужно сделать записи в двух файлах конфигурации.

Сначала введите домены, на которые вы собираетесь ретранслировать /etc/mail/relay-domains, по одному в строке. Включите любые вариации.

Во-вторых, в /etc/mail/mailertable, вы должны указать sendmail, что делать с почтой, предназначенной для этого домена.

Пример:

/etc/mail/relay-domains:

exampledomain.com
otherdomain.com

/etc/mail/mailertable:

exampledomain.com    relay:mailboxes.exampledomain.com

Не забудьте запустить make in /etc/mail так что изменения на mailertable вступят в силу.

Обратите внимание: если вы не введете запись в mailertable для домена он обратится к DNS и попытается отправить на «лучший» MX; если DNS бесполезен, он попытается доставить почту локально (и потерпит неудачу, если вы не исправили /etc/mail/local-host-names).