Как мне сконфигурировать exim4 для маршрутизации всех электронных писем через сторонний SMTP-сервер, когда совпадают домен отправителя, домен получателя и имя хоста сервера?
Я следовал этот отличный ответ и exim4
отправка электронных писем на адреса в других доменах, протестированных и работающих с сервера Ubuntu. Моя единственная проблема заключается в том, что сообщения электронной почты, в которых отправитель и получатель находятся в одном домене с именем хоста сервера, никогда не покидают сервер (и это ожидаемое поведение).
Например, отправка с test@example.com -> test@example2.com работает нормально, но отправка с account1@example.com -> account2@example.com просто направляет почту локально на /var/mail/account2
, без прохождения через сторонний SMTP-сервер.
Я использую Службы Google в своем собственном домене и хочу отправлять электронные письма с server@example.com на me@example.com с компьютера с именем узла example.com.
Я хочу направить их через SMTP-сервер Google, чтобы увидеть их в других моих почтовых клиентах. Возможно ли это?
Если Вы следовали руководство, связанное в моем вопросе , у Вас есть приблизительно дюжина различных 'маршрутизаторов' (простые текстовые файлы) в /etc/exim4/conf.d/router/
. Тот для редактирования 200_exim4-config-primary, как так:
sudo nano /etc/exim4/conf.d/router/200_exim4-config_primary
Вниз нижняя часть является разделом 'smarthost': это похоже на это:
smarthost:
debug_print = "R: smarthost for $local_part@$domain"
driver = manualroute
domains = ! +local_domains
transport = remote_smtp_smarthost
route_list = * DCsmarthost byname
host_find_failed = defer
same_domain_copy_routing = yes
no_more
Удаляют восклицательный знак и пространство от строки 'доменов' так, чтобы это было похоже на это:
domains = +local_domains
, Что редактирование с двумя символами было всем, которое оно взяло для получения всего работающего сейчас. Протестированный и работающий с Google Apps в моем домене на Сервере Ubuntu 12.04 + Exim & благодаря Stefan для подсказки!
Смотрите на установку и использование
domainlist local_domains
, необходимо найти некоторое использование в списках доступа, прежде чем вещи станут интересными в маршрутизатор раздел. Мое поле дома имеет этого как первый маршрутизатор:
send_to_gateway:
driver = manualroute
domains = ! +local_domains
transport = remote_smtp_smarthost
route_list = * SMARTHOST
разъяснение: следующий маршрутизатор будет применим ко всем электронным письмам, идущим в содержание Л "local_domainsЛ"
send_to_gateway:
driver = manualroute
domains = +local_domains
transport = remote_smtp_smarthost
route_list = * SMARTHOST
, используемый транспорт определяется в транспортном разделе конфигурации exim, у Вас должен уже быть один (возможно с другим именем), который продвигает Вашу почту к другим местам. route_list переменная говорит exim продвигать все письма этого маршрутизатора к серверу SMARTHOST.
необходимо инвестировать некоторое время и прочитать прекрасное exim руководство. Это поможет с нестандартными настройками, которые являются вне того, что может сделать упрощенная конфигурация человечности.
Добавьте свой хост dc_relay_domains
параметр конфигурации как:
dc_relay_domains='example.com'
И удалите !
знак прежде +local_domains
в dnslookup_relay_to_domains
от router/200_exim4-config_primary
или exim4.conf.template
если Вы не используете конфигурацию разделения (dc_use_split_config='false'
) к похож:
dnslookup_relay_to_domains:
debug_print = "R: dnslookup_relay_to_domains for $local_part@$domain"
driver = dnslookup
domains = +local_domains : +relay_to_domains
transport = remote_smtp
same_domain_copy_routing = yes
no_more
Или просто удалите !
от dnslookup
раздел для отправки всего снаружи:
dnslookup:
debug_print = "R: dnslookup for $local_part@$domain"
driver = dnslookup
domains = +local_domains
transport = remote_smtp
same_domain_copy_routing = yes