更新:感谢您对此的回复,但我将放弃 exim 并尝试 Postfix。
我的问题与这个。我想配置 exim4(在 ubuntu 10.04 上)以将域上的所有电子邮件转发/重定向到外部地址。我的服务器托管多个域。这是一个非常简单的设置,但我很难让它工作。
例子:
*@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
我已经创建了目录/etc/exim4/fwd_domains
,并且在其中创建了文件domain-a.com
:
# cat domain-a.com
*: [email protected]
更新:我不确信这个语法是否正确。更重要的是,我的导演似乎在到达这一点之前没有被选中。
运行update-exim4.conf
并重新启动 exim4。
发送测试电子邮件:
# 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
我的主管没有被解雇,电子邮件最终进入了 root 的邮箱。有什么想法吗?
答案1
使用通配符搜索“lsearch*”而不是“lsearch”。这将匹配通配符。
域名别名: 驱动程序 = 重定向 域 = dsearch;/etc/exim4/fwd_domains 数据 = ${lookup{$local_part}lsearch*{/etc/exim4/fwd_domains/$domain}} 不再
或者,您可以将别名放入 /etc/aliases 中并使用这样的路由器。您可以根据配置适当地更改域选项。上面的 dseach 是合适的。
域名别名: 驱动程序 = 重定向 域 = !+本地域:+中继到域 数据 = ${lookup{$local_part@domain}lsearch*{/etc/aliases}} 不再
这需要类似这样的别名:
*@域名-a.com:[电子邮件保护] *@域名-b.com:[电子邮件保护] *@域名-c.com:[电子邮件保护]
答案2
尝试进行一些更具侵入性的调试:
exim -bv -d+verify [email protected]
exim -bt -d+route [email protected]
您的配置看起来正常(甚至是教科书式的),但需要有关故障的更多详细信息。
答案3
您的主管需要位于本地交付路由器之上。
答案4
这可能很明显,您已经检查过了,但您永远不知道。
您是否使用过拆分配置方案?
在这种情况下,您应该忽略 exim4.conf.template 而改用 /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs。