使用 Postfix (2.11.3) 我想将所有邮件重定向到外部地址。
/etc/postfix/main.cf
:
virtual_alias_maps = regexp:/etc/postfix/rewrite
Run Code Online (Sandbox Code Playgroud)
/etc/postfix/rewrite
:
/^.+$/ hijacked@example.com
Run Code Online (Sandbox Code Playgroud)
向 发送邮件destination@example.net
,出现以下错误:
[...] to=<hijacked@example.com>, orig_to=<destination@example.net> [...] status=bounced (User unknown in virtual alias table)
Run Code Online (Sandbox Code Playgroud)
文档说:
有效的收件人地址与 virtual_alias_maps 参数一起列出。Postfix SMTP 服务器通过“虚拟别名表中的用户未知”拒绝无效收件人。
事实证明,该错误与验证虚拟别名域有关:virtual_alias_domains
默认情况下是$virtual_alias_maps
,将其设置为其他任何内容(设置为不匹配的域或什至将其留空)可以解决问题。
我在答案中找到的另一个解决方案是以另一种形式给出正则表达式:
/^.+@.+$/ hijacked@example.com
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,当使用正则表达式表进行虚拟别名时,别名域的验证如何工作?为什么设置virtual_alias_domains
为其他任何内容都可以解决问题?上述两种地址映射方式的等效模式有何不同?
的输出postconf -n
是:
config_directory = /etc/postfix
inet_interfaces = loopback-only
inet_protocols = ipv4
mydestination =
myhostname = example.org
myorigin = $myhostname
virtual_alias_domains =
virtual_alias_maps = regexp:/etc/postfix/rewrite
Run Code Online (Sandbox Code Playgroud)
假设您有一封邮件需要destination@example.net
投递。
中指定的映射virtual_alias_domains
使用域部分 ( ) 作为键进行查找example.net
,如果它是虚拟别名域,则期望返回任何内容,否则不返回任何内容,即该键应该是未定义的。virtual_alias_maps
使用完整地址 ( ) 作为键来查找中的映射destination@example.net
,预计返回重写的地址。
这意味着您可以为两次查找共享一个映射文件,就像virtual (5)/etc/postfix/virtual
中解释的简单哈希映射一样。Postfix ( ) 的默认配置是假设这种混合风格的地图。virtual_alias_domains = $virtual_alias_maps
example.net OK
aaa@example.net hijacked@example.com
bbb@example.net hijacked@example.com
Run Code Online (Sandbox Code Playgroud)
这些查找的重要规则是:
virtual_alias_maps
被递归查找。如果它返回与密钥相同的地址,则使用该地址。virtual_alias_maps
仍在 中virtual_alias_domains
,则认为查找失败(User unknown in virtual alias table
)。这似乎没有明确记录,我已经通过此线程了解到。因此,您的第一个正则表达式映射(/^.+$/ hijacked@example.com
)和配置是有问题的,因为映射匹配所有内容,因此hijacked@example.com
仍然存在virtual_alias_domains
并被退回。
您可以通过在 中不指定任何内容virtual_alias_domains
或使用另一个与单个域字符串 ( ) 不匹配的正则表达式映射来避免这种情况/^.+@.+$/ hijacked@example.com
。
但在我看来,它们中的任何一个都不是正确的配置,而是一种不直观的解决方法。我认为会有更适合您目的的解决方案。
归档时间: |
|
查看次数: |
9073 次 |
最近记录: |