Assuming my Postfix server serves the domain example.com, I want it to accept mail for all the subdomains of example.com except for mail.example.com and in.example.com.
At first I've tried using a regular expression that excludes these two subdomains:
(?(?!mail|in).+\.example.com)
But it didn't work. I wasn't sure if the problem is with the regular expression or whether Postfix's regular expression engine doesn't support conditionals, so I've decided to try and use conditionals of the table file. At this point my table looked like this:
/etc/postfix/virtual_domains:
if !/(in|mail)\.example\.com/
/.+\.example\.com/ OK
endif
/etc/postfix/main.cf:
virtual_alias_domains = regexp:/etc/postfix/virtual_domains
But it didn't work either. What am I doing wrong?