我们正在尝试将所有电子邮件转发到特定的电子邮件地址。 我认为一切都设置好了,比如'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