Exim上的Catchall路由器不起作用

时间:2010-03-10 13:48:06

标签: email smtp exim catch-all

我在exim上设置了一个catchall路由器(用作最后一个路由器):

catchall:
  driver = redirect
  domains = +local_domains
  data = ${lookup{*@$domain}lsearch{/etc/aliases}}
  retry_use_local_part

这在本地发送电子邮件时非常有效。但是,如果我登录我的GMail帐户并发送电子邮件到whatever@mydomain.com,那么我会收到“无法接收的地址”。

感谢您提供解决此问题的任何提示。

3 个答案:

答案 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)

要使此路由器正常工作,请确保

  1. mydomain.com位于local_domains
  2. / etc / aliases
  3. 中有*@mydomain.com的条目
  4. mydomain.com的MX记录指向您所在的服务器 配置这个

答案 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目录中使用正确的主机名添加更多别名文件。

我从我的博客中复制并粘贴了这个:

0xeb.info