Imagine the following scenario:
A website is hosted on Server 1. Let’s call it domain.com. The email services for domain.com are hosted on another server, let’s say with Google (via MX records set at the domain level).
Email sent from other servers gets through fine, but when you send email from a domain also hosted on Server 1 to email@example.com, Plesk returns an error message – such as “there’s no such mailbox”. Or mail is delivered, but it never reaches firstname.lastname@example.org.
What’s going on? And how do we fix this?
The solution is simple: switch off the mail service in Plesk for this domain.
What’s happening here is that two servers are volunteering to control mail requests, but only one server can be in charge. Otherwise mail requests will be processed in places they are not supposed to, and mail does not reach the correct destination.
Here’s why: when we send mail from Server 1 to email@example.com, Plesk doesn’t look for external DNS records. It can see that mail is supposed to be hosted right here on Server 1 and tries its best to deliver it. That’s when the error is produced.
It may get confusing if a mailbox with the same name exists on both servers, email is delivered but will likely never reach client’s inbox.
Other servers look at the external MX records and bypass Server 1 completely, therefore mail is delivered as it’s supposed to be.
How can we fix it, Cap’m?
To force Plesk to check external MX records too, head over to the subscription’s control panel and
- select the Mail tab
- Mail Settings
- tick the checkbox next to the domain in question
- click Activate/Deactivate Services
- and in the overlay window, select Disable
- (and finally click OK to close the overlay window)
Now Plesk will no longer use its own MX records for mail requests and it will deliver mail as you would expect.