带有通配符的虚拟域?

带有通配符的虚拟域?

我想设置 postfix 来捕获来自 domain.tld 和 [randomsubdomain].domain.tld 的所有电子邮件。

/((\w[\w\-]*)\.)+domain\.tld/ OK 

这条规则效果很好,但不幸的是它只能捕获发往 的邮件[randomsubdomain].domain.tld。任何发往 的邮件domain.tld都会被阻止,并出现以下错误:

NOQUEUE: reject: RCPT from mail-xx[209.xx]: 554 5.7.1 <[email protected]>: Relay access denied;

/home/admin/postfix/virtual_domains

/((\w[\w\-]*)\.)+domain\.tld/ OK

/etc/postfix/main.cf

virtual_mailbox_domains = pcre:/home/admin/postfix/virtual_domains
virtual_alias_maps      = pcre:/home/admin/postfix/virtual_aliases

/home/admin/postfix/virtual_aliases

/@((\w[\w\-]*)\.)+domain\.tld/ mailuser

有什么想法可以解决它吗?

答案1

当然可以。只需这样做:

/home/admin/postfix/virtual_domains

/((\w[\w\-]*)\.)+domain\.tld/ OK
/^domain\.tld/ OK

/home/admin/postfix/virtual_aliases

/@((\w[\w\-]*)\.)+domain\.tld/ mailuser
/@domain\.tld/ mailuser

很简单,不是吗?如果你想让它更复杂,你可以将第二行改写为第一行,但这样看起来会更丑。

相关内容