我可以让进出口银行拒绝一些电子邮件地址吗

我可以让进出口银行拒绝一些电子邮件地址吗

我已经将 exim 设置为接受带有 - 后缀的本地地址。因此,如果那么是用户乔任何东西被接受。

但是,有些子地址​​我想拒绝(它们已经充斥了太多垃圾邮件,并且没有任何有用的信息)。在本地用户路由器处理之前,有没有办法做到这一点。我可以在别名文件中做些什么吗?

我在 Ubuntu 10.04 上运行

答案1

在本地用户路由器之前添加另一个路由器,该路由器仅用于拒绝您想要拒绝的 lp/后缀组合。以下是硬编码后缀的示例:

reject_suffixes:
  driver = redirect
  local_parts = joe-badsuff1 : joe-badsuff2
  allow_fail
  fail_verify = true
  data = :fail: invalid email <$local_part@$domain>

另一种方法是从文件中查找。基本概念相同,只是通过文件查找:

reject_suffixes:
  driver = redirect
  local_parts = /path/to/file
  allow_fail
  fail_verify = true
  data = :fail: invalid email <$local_part@$domain>

local_parts 指向的文件只是要拒绝的 local_parts 列表:

joe-badsuff1
jane-badsuff2
jack-badsuff1
# etc...

我更喜欢使用路由器来执行此操作而不是 ACL,因为它可以捕获所有边缘情况,例如本地提交的消息(因此不会触发 rcpt acl)等。

答案2

您可以创建一个 acl 来拒绝这些地址。在“begin acl”部分,添加如下内容:

deny message = This address is locked.
  recipients = /a/file/containing/the/rejected/addresses

即使收件人本来会被接受,这也将拒绝该消息。此处的“收件人”部分是一个简单的列表,您可以使用任何类型的列表,而不必指定文件(sql 查找、硬编码列表等)。

答案3

只需为它们添加一个别名。

# 别名 : :action: 评论
joe-spam::fail:因垃圾邮件数量过多而被禁用。

答案4

我喜欢在同一个别名文件中管理被拒绝的子地址和被接受的地址(每个域都有一个)。我还希望每个域只有一个路由器。

如果您的路由器在别名文件中进行查找,则只需首先查找 $original_local_part,然后查找 $local_part,因为 $original_local_part 包含带有后缀的整个地址(又名子地址):

  data = ${lookup {$local_part$local_part_suffix@$domain} nwildlsearch {/cfg/aliases} {$value}\
        {${lookup {$local_part@$domain}                   nwildlsearch {/cfg/aliases} {$value}}}}

然后在别名文件中,只需为要拒绝的子地址添加一行:

[email protected]: :fail: no such user, too much spam
[email protected]: [email protected]

因此,如果 exim 找到子地址(“[电子邮件保护]“)在第一次搜索中,它会处理它(在我的例子中失败),但如果没有,那么第一次查找将失败并导致第二次查找仅搜索本地部分(“[电子邮件保护]“)并查找并接受/重定向它。如果当前地址上没有子地址,它可能只在第一次查找中匹配。

相关内容