Can't Get Postfix to accep top level domain

I originally set up my postfix MTA to send and receive mail as

hostname.domainname.com

and it worked fine.

Now I’ve been trying to get it to also accept mail for the top level domain as well:

domainname.com

I’ve been researching it for four (4) hours now and can’t figure out what I’m doing wrong.

When mail is received for user@domain.com the postfix mail log shows:

Unknown user in virtual alias table

Yet, in my /etc/postfix/virtual file is

user@domain.com user

And in *main.cf *

virtual_alias_domains = domainname.com, hostname.domainname.com

What else do I need to change?

By the way, don’t call it TLD. That’s not the accepted meaning of TLD. TLD means domains like .com, .info, .uk and so forth. You mean the parent domain.

After you edited the virtuals table did you do a postmap to update the binary form of the table? Because postfix works off the binary form. See man postmap. You might also want to configure /etc/sysconfig/postfix so that the virtuals table is listed as requiring regeneration when YaST runs SuSEconfig. But if you have gone off and edited main.cf yourself, then you don’t get this regeneration service anymore.

The mail aliases file also needs treatment after editing, there is a program called postaliases for that.