Symptoms
- Plesk Obsidian running on a Linux-based operating system
- All mail messages migrated from a source server are shown as corrupted on Webmail (Invalid Address and No subject).
- An error that is similar to the following can be seen in the
/var/log/maillog
:dovecot Error: service=imap, [email protected], ip=[127.0.0.1]. Mailbox INBOX: UID=33261: read(/var/qmail/mailnames/example.com/username/Maildir/cur/1520269963.M402118P28216V0000000000000802I00000000001840FA.CL0016UC-SG1.WEBVIS.NET,S=1448:2,S) failed: Cached message size larger than expected (1448 > 1188, box=INBOX, UID=33261)
dovecot: Error: service=imap, [email protected], ip=[127.0.0.1]. Corrupted record in index cache file /var/qmail/mailnames/example.com/username/Maildir/dovecot.index.cache: UID 33261: Broken physical size in mailbox INBOX: -
A check for one of the files in the error message reveals that it is compressed:
# file /var/qmail/mailnames/example.com/username/Maildir/cur/1514911697.M278455P5627.cp.example.com,S=12483,W=12780:2,S /var/qmail/mailnames/example.com/username/Maildir/cur/1514911697.M278455P5627.cp.example.com,S=12483,W=12780:2,S: gzip compressed data, from Unix, original size modulo 2^32 12483
-
On the source server, the dovecot configuration has compression enabled:
# cat /etc/dovecot/dovecot.conf | grep zlib
zlib_save_level = 6
Cause
The Plesk Migrator transfers messages as they are, meaning without any modifications. Since the messages are compressed on the source server, after the migration, the destination Plesk server is not able to work with them.
This behavior is recorded as a Plesk Migrator extension bug with ID #PMT-4651, which will be resolved in future updated for the Plesk Migrator.
Resolution
As a workaround, it's necessary to unpack the mail messages on the target Plesk server manually, so it will be able to read the unpacked messages properly.
This task should be performed by the Linux system administrator of the destination Plesk server after reading the official dovecot documentation.