"Empty emails" after migration from cPanel

Hi! I just made a cpanel migration and my old emails are coming with the backup but when I look at it from a email client or the “read emails” feature from virtualmin, 90% of them are showing as “empty message” or with “unknown sender” + “empty body”. Anyone know why this could happen? I’m running the lastest version of virtualmin + fresh centos 7 on a vps. I didn’t changed anything related to emails on virtualmin/webmin yet. All by default.


Do you see the same ‘empty email’ when you use an email client like Outlook or RoundCube to access the mailbox?

I ask to determine if the problem lies with the import / migration or with the rendering of the email.

Hi! Yes! I tried on emClient on windows and BlueMail on Android both are showing the existence of the emails but both say something in the lines of “empty mail” and opening the email doesn’t actually load anything besides an empty email with no sender or text.

Well, then it is the import / migration from cPanel to Virtualmin which is faulty. I am assuming that you have enough space on the new server and have changed the default quota of 1 GB for the virtual server so it is not these which are causing this problem.

As a workaround, if the old server is still online, you could use a tool, like Imapsync, to copy over your email from the old server to the new one.

1 Like

Yes. I did try with the smallest account possible that only had one email account with 3 emails there. The whole backup is only 3mb, Because the other account have over 100 emails accounts and I just wanted to make sure everything would work fine before making the move haha. Having said that, I do still have the other server online and working and I wonder if that can be part of the issue, I know emails are very sensitive to the hostname and the old server hostname is “Kara.helware.com” and it’s pointing to old server ip obviously. Now, the new server is also “Kara.helware.com”, i don’t know if that can affect anything or if don’t matter. The new server can send and receive emails without any issues.

Not likely, no. It is okay to have two servers with the same hostname / domain name while you carry out a migration, as long as you are mindful about which is which. There are best practices which tell you how to work around this paradox and switch domains after migration by lowering the TTL but I have found both methods to work perfectly well.

The ‘empty email’ issue is not being caused by colliding hostnames / domain names.

If you don’t mind sending me the test backup, I could import it on one of my spare Virtualmin installs and let you know if it produces the same issue with empty emails here.



Reading/listing emails is not more than just reading/listing ordinary files. You can move Maildir manually. We expect Maildir (directory with all emails) to be under /home/username. You can zip up mail on CPanel, download it and then re-upload it to Virtualmin manually. I think mail on CPanel it’s stored at /home/user/mail, while on Virtualmin it’s /home/user/Maildir.

Did something went wrong while restoring a back up? Mail expected to be restored without any issues.


I don’t want to steal more of your time but to be honest I was thinking on deploying another vps just to try it again in a new install! But if youreally have some free time and a spare VM install, I would appreciate it so much! Thanks! :smiley:

This is the backup:
username: helwarexyz
pass: !IGk-dyv2VN{

For refence It’s supposed to have 4 emails in the inbox, like this:


Hi! No, nothing really happened while restoring the backup, when it was done I stay there and looked every single line, everything finished without any error or warnings!
And yes! cPanel is /home/user/mail, based on your suggestion I just compare it both and they look the same. but anyways, I went and try to manually extract the mail.zip folder to Maildir but sadly, the same problem still persist :confused:

And yes! cPanel is /home/user/mail, based on your suggestion I just compare it both and they look the same.

Does it mean that mail was migrated correctly? Is there expected folder’s structure if you list it using File Manager?

… the same problem still persist

It might be Dovecot indexing problem. Try deleting dovecot.* files from under ~/Maildir – does it help?

1 Like

You are most welcome!

Here is the output of the Migrate operation:

Validating migration file ..
.. done

Starting migration of helware.xyz from uploaded file ..

Checking for cPanel features ..
.. found Home directory, Administration user, Nginx website, Log file rotation, Webmin login, BIND DNS domain, Mail for domain.

**However, the follow features are not supported or enabled on your system : Webalizer reporting, virtualmin-awstats. Some functions of the migrated virtual server may not work.**

Checking for clashes and dependencies ..
.. all OK

Creating initial virtual server helware.xyz ..
Creating administration group helwarexyz ..
.. done

Creating administration user helwarexyz ..
.. done

Creating aliases for administration user ..
.. done

Adding administration user to groups ..
.. done

Creating home directory ..
.. done

Creating mailbox for administration user ..
.. done

Adding new DNS zone ..
.. done

Adding to email domains list ..
.. done

Adding DKIM records to DNS domain helware.xyz ..
.. added successfully

Creating Nginx virtual host ..
.. done

Starting PHP FastCGI server ..
.. done

Adding webserver user nginx to server's group ..
.. done

Setting up log file rotation ..
.. done

Creating Webmin user ..
.. done

Saving server details ..
.. done

Re-starting DNS server ..
.. done

Applying Nginx configuration ..
.. done

Re-loading Webmin ..
.. done
.. done

Copying home directory to /home/helwarexyz ..
.. done

Fixing home directory permissions ..
.. done

Re-creating mail users for helware.xyz ..
.. done (migrated 1 mail users)

Moving server owner's mailbox ..
.. done

Copying email aliases ..
.. done (migrated 0 aliases)

Re-creating FTP users ..
.. done (created 0 FTP users)

Successfully migrated 1 servers. [Click here](https://vps03.indiax.com:10000/virtual-server/edit_domain.cgi?dom=16057127334374) to manage the new server.

Despite a successful migration, the mailbox does not display email normally. See:

I am poking around and will post here if I discover anything worthwhile.

1 Like

Yes! The file structure looks fine! The Emails even are in the cur folder, with the correct size /permissions and everything… But it just can’t show from virtualmin or any email client.

Great idea! but I followed your advice and no luck. I deleted every ‘dovecot.’ file under Maildir, restarted the server and nothing… The problem persist! :sleepy:

Yes! You see? The migration finish just fine, not even a warning, and all the files are even in the new server, but for some reason nothing shows up in the client. If you find something let me know please! Thanks for your help! <3

What is mail_location directive set to in /etc/dovecot/conf.d/10-mail.conf file? Is Dovecot running? What do you see on mail logs when connecting to your IMAP server to read your mail?

1 Like

Yes. Dovecot is running, and the directive is set to “mail_location = maildir:~/Maildir”, which is correct

How I can see those logs? Sadly, I suck at linux logging!

I was checking my dovecot and in my old cPanel Server I have installed dovecot 2.3.10 and in the new Virtualmin server is included the 2.2.36. Do you think this can be an issue? Do you think it’s possible that somehow the files created with the newer version can’t be readed by the older one.


EDIT: Well… Pretty sure it was actually that… cPanel updated their version of dovecot to 2.3.10 and virtualmin still is running on 2.2.36, but after some struggle I was able to upgrade dovecot to version on virtualmin and now, on the “Read user emails” function from virtualmin still says “Unknow” but in my email client on the phone/desktop it actually works fine now. But i think it broke something else because adding a new email account on my email client is a pain now, it not reliable anymore, on the phone works like a charm but on desktop, sometimes it doesn’t want to send/receive the emails but sometimes it just works fine. Maybe dovecot is depending on another service that also needs to be upgraded? I truly don’t know :sleepy:

Maybe try deploying a vps with CentOS 8 instead? :thinking:

1 Like

This is not normal. I assume you migrated Dovecot 2.3 config into 2.2. This could be a potential problem.

Maybe try deploying a vps with CentOS 8 instead?

@rspy24 You should definitely start with CentOS 8!

Yes! Thanks!
I did try with centos 8, and virtualmin was able to download a newer version of dovecot (2.3.8) which it should work better with the problem of “empty mails” but I Still don’t know haha, because I can even connect an email client to virtualmin with centos 8 yet… All fresh installation in vultr. Every service is running fine but both emails clients I tried (emClient on windows and bluemail on android) are having problems connecting to the IMAP service, SMTP works fine apparently. Having said that, I will keep trying, I really want to make the move to Virtualmin! <3

Any errors appearing during installation?

1 Like