На сервере Debian Lenny 'example.net' у нас есть несколько заданий cron, которые должны отправлять почту на 'job-owner@example.net'. MX для домена - это внешний выделенный SMTP-сервер. Exim использует маршрутизатор системных псевдонимов, чтобы найти локального пользователя, но не находит его:
$ exim -bt job-owner@example.net
R: system_aliases for job-owner@example.net
job-owner@example.net is undeliverable: Unrouteable address
В /etc/aliases
у нас есть обычное перенаправление для пользователей системы на root, которое я бы хотел сохранить.
Как лучше всего использовать exim для отправки почты пользователям которые не найдены локально к SMTP-хосту, указанному через dnslookup?
Итак, после маршрутизатора localuser добавьте слегка измененную копию маршрутизатора dnslookup:
dnslookup2:
driver = dnslookup
domains = example.net
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
Обратите внимание, что "domains =" было изменено, как и имя маршрутизатора.
FWIW - это странная конфигурация, когда рассматриваемый сервер думает, что example.net является локальным, если он обрабатывается как локальный домен с другим набором допустимых пользователей в другом месте. Не обязательно неправильная конфигурация, но достаточно странная, чтобы вызвать у меня чувство «вы могли сделать неправильный выбор до того, как попали сюда».
Самое простое решение вашей проблемы - это, вероятно, поместить что-то вроде следующего в ваш / etc / aliases:
job-owner : real-address@remote-host.com
Другое и более чистое решение заключается в том, чтобы локальный компьютер маршрутизировал электронную почту только для себя (например, для сервера «localserver», так что example.net правильно маршрутизируется через DNS через маршрутизатор dnslookup, как предлагает jj33.
Ваш локальный сервер не должен разрешать example.net, если он не является основным сервером маршрутизации почты для домена example.net.