我在exim上设置了一个catchall路由器(用作最后一个路由器):
catchall:
driver = redirect
domains = +local_domains
data = ${lookup{*@$domain}lsearch{/etc/aliases}}
retry_use_local_part
这在本地发送电子邮件时非常有效。但是,如果我登录我的GMail帐户并发送电子邮件到whatever@mydomain.com,那么我会收到“无法接收的地址”。
感谢您提供解决此问题的任何提示。
答案 0 :(得分:1)
在配置文件的system_aliases:部分,您已经有一个部分在/etc/aliases
中进行查找。
替换
data = ${lookup{$local_part}lsearch{/etc/aliases}}
与
data = ${lookup{$local_part}lsearch*@{/etc/aliases}}
并确保*:catchall_username*
/etc/aliases
这适用于已使用/etc/aliases
答案 1 :(得分:0)
要使此路由器正常工作,请确保
答案 2 :(得分:0)
这已经老了,但我没有看到一个好的答案,而其他人可能想知道答案。
这篇文章以单一配置文件模式面向Debian。它应该适用于任何Linux Exim4安装。为了解释事情,我们将使用test@example.com
来配置主机名mail.example.com。系统将有一个名为test的真实用户,我们希望为测试别名创建一个别名。因此,最终结果是将发送到alias@example.com
的所有电子邮件转发到test@example.com
,而无需在系统上创建用户别名。
首先,我们需要创建一个存储所有别名文件的位置:
mkdir /etc/exim/aliases.d
vim /etc/exim/aliases.d/mail.example.com
mail.example.com别名的别名文件的内容:test
vim /etc/exim/exim4.conf.template
现在查找system_aliases
部分。在这里,您将看到data = ${lookup{$local_part}lsearch{/etc/aliases}}
或类似内容。将其更改为
data = ${lookup{$local_part}lsearch{/etc/exim4/aliases.d/$domain}}
保存文件并重新启动exim。别名现在应该有效。要添加对其他域的支持,只需在aliases.d目录中使用正确的主机名添加更多别名文件。
我从我的博客中复制并粘贴了这个: