Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a server with two domains. I get the warning as mentioned in the title:

do not list domain example.com in BOTH mydestination and virtual_alias

Although I receive the above warning, it works just fine without problems. But I want to know how to fix it.

The reason for having the domain in both places is because I want to implement catchall - all email sent to @domain.tld should go to the mail account of that domain.

Now, if I don't put the domain in mydestination, the server refuses to accept email for that domain because it does not want to be an open relay. If I don't put the catchall alias into the virtual alias table, the catchall doesn't work (obviously).

So what is the correct solution? I have tried to read the stuff on http://www.postfix.org/VIRTUAL_README.html#virtual_alias, but I just can't seem to make my setup work any other way.

(PS: I am using webmin/virtualmin to manage my website, and when I try to configure it with the built-in configuration tools it comes up with the same solution I have manually. So it seems even webmin doesn't know a better way to do this...)

share|improve this question

3 Answers 3

You don't need the domain listed in in virtual_alias_domains for it to be looked up in the virtual_alias_map.

From the virtual(5) man page:

The optional virtual(5) alias table rewrites recipient addresses for all local, all virtual, and all remote mail destinations. [emphasis added]

virtual_alias_domains is a list of domains that addresses MUST be looked up and found in the virtual alias map.

share|improve this answer

The default for mydestination is:

$myhostname, localhost.$mydomain, localhost

Try setting it to

localhost.$mydomain, localhost

instead. I had a similar warning, and making this change doesn't impact mail delivery on my server for the domain in question. If you're still having problems, you should probably post your main.cf and virtual_alias settings.

share|improve this answer

My solution was the following:

  • Remove example.com from mydestination
  • Replace the virtual alias mainuser@example.com to mainuser with an alias to localmailbox@localhostname (localhostname being anything in mydestination)

What I learned was that Virtualmin creates so called "virtual alias domains" by specifying the domain name in the virtual alis tables. Postfix documentation states that in this case local mailboxes can't be a (direct) target.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.