Exim4:在多个域上configurationcatchall将邮件转发到外部地址

更新:感谢您对此的反应,但我要放弃进出口,并尝试Postfix。


我的问题和这个很相似。 我想configurationexim4(在Ubuntu 10.04)转发/redirect到域的所有电子邮件到外部地址。 我的服务器托pipe多个域名。 这是一个非常简单的设置,但我努力工作。

例:

*@domain-a.com > [email protected]

*@domain-b.com > [email protected]

*@domain-c.com > [email protected]

我尝试添加以下到/etc/exim4/exim4.conf.template但导演不匹配:

 domaina_director: driver = redirect domains = dsearch;/etc/exim4/fwd_domains data = ${lookup{$local_part}lsearch{/etc/exim4/fwd_domains/$domain}} no_more 

我创build了目录/etc/exim4/fwd_domains ,在这个文件domain-a.com

 # cat domain-a.com *: [email protected] 

更新:我不相信这个语法是正确的。 更重要的是,我的导演在达到这一点之前似乎没有被拿起来。

运行update-exim4.conf并重新启动exim4。

发送testing电子邮件:

 # mail [email protected] Subject: jdhfdjks dsfhjdshf . Cc: 

这出现在/var/log/exim4/mainlog

 2010-07-07 22:21:51 1OWd03-0002Zv-Kx <= root@primarydomain U=root P=local S=332 2010-07-07 22:21:51 1OWd03-0002Zv-Kx ** [email protected]: Unrouteable address 2010-07-07 22:21:51 1OWd03-0002Zx-MB <= <> R=1OWd03-0002Zv-Kx U=Debian-exim P=local S=1111 2010-07-07 22:21:51 1OWd03-0002Zv-Kx Completed 2010-07-07 22:21:51 1OWd03-0002Zx-MB => /var/mail/mail <root@primarydomain> R=mail4root T=address_file 2010-07-07 22:21:51 1OWd03-0002Zx-MB Completed 

我的导演不开火,电子邮件在根目录的邮箱中结束。 有任何想法吗?

使用通配符search“lsearch *”而不是“lsearch”。 这将匹配通配符。

  domain_aliases:
  驱动程序=redirect
   domains = dsearch; / etc / exim4 / fwd_domains
   data = $ {lookup {$ local_part} lsearch * {/ etc / exim4 / fwd_domains / $ domain}}
  不再 

或者,你可以把你的别名放在/ etc / aliases中,并使用这样的路由器。 您可以根据您的configuration更改域选项。 上述的做法是合适的。

  domain_aliases:
  驱动程序=redirect
  域=!  + local_domains:+ relay_to_domains
   data = $ {lookup {$ local_part @ domain} lsearch * {/ etc / aliases}}
  不再 

这需要别名:

  *@domain-a.com:[email protected]
 *@domain-b.com:[email protected]
 *@domain-c.com:[email protected] 

尝试更有创意的debugging:

 exim -bv -d+verify [email protected] exim -bt -d+route [email protected] 

你的configuration看起来很正常(甚至是教科书),失败时需要更多的细节。

您的主pipe需要在本地交付路由器之上。

在Exim文档中有一些关于lsearch不扩展通配符的内容,在search之前使用wildlsearch来扩展键。 我认为你现在的做法只能匹配地址*@domain-a.com 。 看看文档中的例子。 此外,作为一个全面的电子邮件,路由器应该是所有其他有意义的路由器之后,或者它将在交付之前捕获有效的电子邮件。

这可能是如此明显,你已经检查,但你永远不知道。

你有没有使用拆分configurationscheme?

在这种情况下,您应该忽略exim4.conf.template,而是使用/etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs。