虚拟文件中的模式后缀问题

我们正在尝试将所有电子邮件转发到特定的电子邮件地址。 我认为一切都设置好了,比如'main.cf'和'virtual-regexp'文件。 如果我们把以下内容放在'虚拟'文件中,转发就可以正常工作:

@example.com [email protected]

但是,如果我们尝试在“虚拟”中使用以下内容将所有电子邮件发送到ID,则会忽略它并将其发送给原始用户:

(.*) [email protected]

我们从下面的问题和答案中得到了上述的想法。

任何想法为什么模式“(。*)”不起作用? 我们尝试了很多不同的模式,我们的头脑开始旋转。

如果您阅读问题/答案,为什么您使用(.*)作为expression式?

答案标明正确的问题,你链接到明确使用正则expression式:

/.+@.+/

编辑:如果您出于任何原因不想实际阅读链接中的答案,我会在这里复制/粘贴它。

终于find了答案。

在这里列出的后代。

将下面的行添加到main.cf文件的末尾

 vi /etc/postfix/main.cf virtual_maps = hash:/etc/postfix/virtual, regexp:/etc/postfix/virtual-regexp 

创build一个文件,列出您希望所有邮件发送到的邮件地址

 vi /etc/postfix/virtual-regexp 

添加以下内容:

 /.+@.+/ forwarding [email protected] 

将其添加到postmap

 postmap /etc/postfix/virtual-regexp 

您将需要添加一个虚拟文件。

 touch /etc/postfix/virtual 

现在将其添加到postmap

 postmap /etc/postfix/virtual 

我解决了这个问题。

您需要完成上面列出的步骤。 但是,另外,在重新启动后缀过程之前,您需要在main.cf中注释以下行(如果存在的话):

 virtual_alias_maps = hash:/etc/postfix/virtual virtual_alias_domains = hash:/etc/postfix/virtual