In Roundcube Webmail on cPanel, single email could not be opened and the following error message was displayed: INTERNAL ERROR Could not load message from server.
First check the /var/log/messages for any errors:
the error:
Dec 1 11:40:17 s6 dovecot: imap(info@XXX.com)<156591>: Disconnected: FETCH failed: Mailbox INBOX: UID=1825: read() failed: read(/home/udsrs/mail/uds.rs/info/cur/1638348040.M350211P170875.srv.XXX.com,S=8041,W=8233:2,Sa) failed: Invalid quoted-printable input trailer: ‘=’ not followed by two hex digits in=449, out=3045, bytes=449/3045
So the error itself is: failed: Invalid quoted-printable input trailer: ‘=’ not followed by two hex digits
Cause for this is that the email message does not correspond to RFC 2045, section 6.7 “Quoted-Printable Content-Transfer-Encoding”.
So it’s an expected behavior of Dovecot to block the message, and you should inform the sender about this problem from their end, but if you want, and I don’t recommend doing this, you can tweak the settings in order to allow the display of these messages:
cp -ax /var/cpanel/templates/dovecot2.3/main.default /var/cpanel/templates/dovecot2.3/main.local
modify /var/cpanel/templates/dovecot2.3/main.local and edit this section
[%- IF protocol_imap.imap_capability.defined %]
imap_capability = [% protocol_imap.imap_capability %]
[%- ELSE %]
#imap_capability =
[%- END %]
to:
[%- IF protocol_imap.imap_capability.defined %]
imap_capability = "IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS MOVE"
# imap_capability = [% protocol_imap.imap_capability %]
[%- ELSE %]
#imap_capability =
[%- END %]
and then run the following
/usr/local/cpanel/scripts/builddovecotconf /scripts/restartsrv_dovecot