我们有一个主持网站example.org的VPS. 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=’false’
dc_relay_nets=’0.0.0.0/32′
dc_smarthost=’example.com::26′
CFILEMODE=’644′
dc_use_split_config=’false’
dc_hide_mailname=’true’
dc_mailname_in_oh=’true’
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
(为了简单和测试,现在将数据设置为特定地址)
发送电子邮件至it@example.org时的exim日志(应重定向到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
所以,地址没有改变:(
请帮忙!我试着让它工作半天了:(
解:
所以,aseq帮我解决了这个问题.虽然解决方案对我来说有点奇怪.当我尝试设置dc_use_split_config =’true’时它没有帮助,看起来我的重定向文件没有被使用.此外,当我尝试将这些重定向行添加到/etc/exim4/exim4.conf.template的末尾时,它也没有帮助.但是当我尝试在“开始路由器”之后粘贴这些行时,它终于奏效了!
解决方法
在/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(在我的示例中为example.com的IP).因此,它将忽略该域的MX记录. IP地址可以是任何内容,只要它配置为接收这些电子邮件即可.
最后是地址重写,参见:http://www.exim.org/exim-html-current/doc/html/spec_html/ch31.html也许它有适合您要求的东西.除了hubbed_hosts之外,您还可以使用它.