Postfix 虚拟别名映射到 unix 帐户,并包含不匹配的包罗万象的内容

Postfix 虚拟别名映射到 unix 帐户,并包含不匹配的包罗万象的内容

我设置了一个 postfix 邮件服务器并映射到服务器上的不同 UNIX 帐户。我希望能够接受发送到 中定义的特定地址的邮件/etc/postfix/valias并路由到映射的 UNIX 帐户,除非它不作为别名存在,然后转到catchallUNIX 用户邮箱。

我一直在尝试使用正则表达式来完成此任务,但它仍然不起作用。无论现有规则如何,所有内容都将被路由到包罗万象的帐户。

/etc/postfix/valias 

[email protected]                                         unix_acct1
[email protected]                                        unix_acct2
/[email protected]$/                                     unix_acct1
/^.*@example.com$/                                        catchall_unix_acct

似乎正确通过的 postmap 测试结果

 postmap -q "[email protected]" regexp:/etc/postfix/valias

 postmap: warning: regexp map /etc/postfix/valias, line 1: ignoring unrecognized request
 postmap: warning: regexp map /etc/postfix/valias, line 2: ignoring unrecognized request
 unix_acct

域中不存在的电子邮件别名

 postmap -q "[email protected]" regexp:/etc/postfix/valias

 postmap: warning: regexp map /etc/postfix/valias, line 1: ignoring unrecognized request
 postmap: warning: regexp map /etc/postfix/valias, line 2: ignoring unrecognized request
 catchall_unix_acct

当我将电子邮件发送到定义为 valias 或未定义为 valias 的任何地址时,除非我将其取出,否则它们最终都会出现在 catchall_unix_acct 中。如前所述,如果发送到的地址未设置为别名,我只希望包罗万象的别名能够接收邮件。为了完成这个任务我缺少什么吗?

谢谢!

答案1

您有 2 个步骤要做

修改/etc/postfix/main.cf并追加此行

virtual_alias_maps = regexp:/etc/postfix/valias

我的文件/etc/postfix/valias

/^[email protected]$/                                         debian
/^user1(\+.*)[email protected]$/                                ubuntu$1
/^user2(\+.*)[email protected]$/                                debian$1
/^.*@example.com$/                                          root

第 2 行和第 3 行的地址允许加号扩展。

相关内容