Текущая ситуация:
У нас есть VPS, на котором размещен сайт example.org. Exim настроен для работы как смарт-хост. Все электронные письма, отправленные через exim, успешно перенаправляются на другой почтовый сервер (который работает на example.com).
Цель:
Для пересылки почты, отправленной на *@example.org, на *@example.com, т.е. измените адрес получателя с *@example.org на *@example.com.
Проблема:
Если я отправляю электронное письмо на адрес *@example.org, то кажется, что exim не меняет адрес, он по-прежнему ретранслирует сообщение на другой почтовый сервер, но получатель по-прежнему *@example.org. Возможно, редирект по какой-то причине не применяется.
Конфигурация и журналы:
/etc/exim4/update-exim4.conf.conf:
dc_eximconfig_configtype = 'smarthost'
dc_other_hostnames = ''
dc_local_interfaces = ''
dc_readhost = 'example.org'
dc_relay_domains = 'example.org'
dc_minimaldns = 'ложь'
dc_relay_nets = '0.0.0.0 / 32'
dc_smarthost = 'example.com :: 26'
CFILEMODE = '644'
dc_use_split_config = 'ложь'
dc_hide_mailname = 'правда'
dc_mailname_in_oh = 'правда'
dc_localdelivery = 'maildir_home'
/etc/exim4/conf.d/router/999_exim4-config_redirect (создано мной):
domain_redirect:
debug_print = "R: forward for $local_part@$domain"
driver = redirect
domains = example.org
data = it@example.com
(пока данные устанавливаются на определенный адрес для простоты и тестирования)
журнал exim при отправке письма на it@example.org (должен быть перенаправлен на it@example.com):
2012-03-20 19:40:07 1SA4ud-0005Dw-7k <= test@example.org U=www-data P=local S=657
2012-03-20 19:40:08 1SA4ud-0005Dw-7k => it@example.org R=smarthost T=remote_smtp_smarthost H=domain2.com [184.172.146.66] X=TLS1.0:RSA_AES_256_CBC_SHA1:32 DN="C=US,2.5.4.17=#13053737303932,ST=TX,L=Houston,STREET=Suite 400,STREET=11251 Northwest Freeway,O=HostGator.com,OU=HostGator.com,OU=Comodo PremiumSSL Wildcard,CN=*.hostgator.com"
2012-03-20 19:40:08 1SA4ud-0005Dw-7k Completed
Итак, адрес не изменился :(
Пожалуйста помоги! Уже полдня пытаюсь заставить работать :(
Решение:
Так, асек помог мне решить проблему. Хотя решение показалось мне немного странным. Когда я пытался установить dc_use_split_config = 'true', это не помогло, похоже, что мой файл перенаправления не использовался. Также, когда я попытался добавить эти строки перенаправления в конец /etc/exim4/exim4.conf.template, это тоже не помогло. Но когда я попытался вставить эти строки после строки «begin routers», это, наконец, сработало!
Используйте example.com вместо domain2.com, example.com (и .org .net) был специально создан для примеров и документации.
В вашем /etc/exim4/update-exim4.conf.conf вы настроили:
dc_use_split_config='false'
Однако вы что-то меняете в /etc/exim4/conf.d/router/999_exim4-config_redirect, что будет проигнорировано, потому что вы не используете раздельную конфигурацию.
Либо сделайте:
dc_use_split_config='true'
И перезагрузите exim4, вы можете изменить его, используя:
dpkg-reconfigure exim4-config
Или отредактируйте /etc/exim4/exim4.conf.template, чтобы вместо этого добавить свои настройки, и перезагрузите exim4, как только закончите.
В Debian exim4 есть функция под названием hubbed_hosts, которая может быть удобным способом выполнить то, что вы хотите, без необходимости добавлять свои собственные маршрутизаторы и др.
Итак, если вы хотите, чтобы ваш сервер отправлял электронную почту, предназначенную для домена example.org, на домен example.com, в котором MTA прослушивают IP-адреса 192.0.2.1 и 192.0.2.10, вы выполните следующие действия:
Создайте / etc / exim4 / hubbed_hosts и добавьте:
example.org: 192.0.2.1:192.0.2.10
перезагрузить exim4
Обратите внимание: между IP-адресами нет пробелов, и они разделены двоеточием ':'
Это будет ретранслировать электронную почту, предназначенную для example.org, на IP-адреса 192.0.2.1,192.0.2.10 (в моем примере - IP-адреса example.com). Поэтому он проигнорирует записи MX этого домена. IP-адрес может быть любым, если он настроен на получение этих писем.
Наконец, есть перезапись адреса, см .: http://www.exim.org/exim-html-current/doc/html/spec_html/ch31.html Возможно, в нем есть что-то, что будет соответствовать вашим требованиям. Вы можете использовать его в дополнение к hubbed_hosts.