Symptoms
You get a bounce message like below or similar errors present in the mail log:
<user@domain.tld>: Sorry. Although I'm listed as a best-preference MX or A for that host, it isn't in my control/locals file, so I don't treat it as a local file. (#5.4.6)
<user@domain.tld>: Sorry. Although I'm listed as a best-preference MX or A for that host, it isn't in my control/locals file, so I don't treat it as a local file. (#5.4.6)
Cause
When a domain is created in Plesk, the domain name is added to ...qmail/control/rcpthosts and ...qmail/control/virtualdomains files to specify that the domain is local (virtualdomains file) and messages to it should be accepted without authorization (rcpthosts file).
So when you see the error "I'm listed as a best-preference MX or A for that host, it isn't in my control/locals file," it may happen because of several reasons:
- the domain really does not exist in Plesk, but the domain's DNS points to your server as the domain's MX
- the domain exists but domain.com > Mail > Disable option was chosen in the Plesk interface
- the domain exists and the domain was added to the above files but Qmail failed to restart (Qmail reads these files during start-up only)
- the domain exists but the domain was not added to the above files because of some failure during domain creation or the files were modified manually.
- the domain exists but domain.com > Mail > Disable option was chosen in the Plesk interface
- the domain exists and the domain was added to the above files but Qmail failed to restart (Qmail reads these files during start-up only)
- the domain exists but the domain was not added to the above files because of some failure during domain creation or the files were modified manually.
Resolution
If the domain really exists in Plesk and the Mail service is enabled for it, you can rebuild Qmail configuration files using the /usr/local/psa/admin/sbin/mchk utility.
The "listed as a best-preference MX" error happens with system messages sent to addresses like root@hostname or postmaster@hostname. Usually people do not add `hostname` domain into Plesk and Qmail does not know where to deliver various system reports and such messages stall in the queue while they are dropped. The simplest solution is to create a 'hostname' domain in Plesk without any hosting and create a root@ mailaccount with aliases postmaster@, anonymous@, DrWEB-DAEMON@. etc. and redirect it to some real mailbox. Or it is even simpler not to enable either mailbox or forward option for this account. In this case, all messages to the account will be accepted but dropped immediately.