Postfix is delivering mail to /var/vmail/username as wanted and expected. However Dovecot looks for and creates /var/vmail/user@domain. How do I get Dovecot to look for mailbox user instead of mailbox user@domain?
The problem is more than likely attributed to your mail_location directive in your dovecot.conf file. Check your dovecot.conf file and we will assume it will look something like this:
maildir:/var/vmail/%u/Maildir
The %u in that line means 'username', which includes the domain such as this: user@domain
Instead, of using %u, change it to %n.
The %n specifies the "user" part in user@domain, not the entire username with the domain.