Не отображаются письма в почтовых клиентах
Симптомы
Не отображаются письма в почтовых клиентах, например в веб-интерфейсе Roundcube в папке “Входящие” отображается количество непрочитанных писем, однако при переходе в папку письма отсутствуют.
Также в системном журнале /var/log/maillog
(для Debian и Ubuntu - /var/log/mail.log
) присутствует ошибка формата:
isp3 dovecot[1584344]: imap(<mail_box>@<mail_domain.com>)<1584639><eEVEikEWCqh/AAAB>:
Disconnected: FETCH failed: Mailbox INBOX: UID=63:
read(/var/www/<user>/data/email/<mail_domain>/<mail_box>/.maildir/cur/<filename>) failed:
Cached message size larger than expected (7837 > 0, box=INBOX, UID=63)
in=297 out=36931 deleted=0 expunged=0 trashed=0 hdr_count=62 hdr_bytes=21238 body_count=0 body_bytes=0
Причины
Файл кэша почтового ящика был поврежден из-за поврежденного файла в директории писем.
Решение
Переместить повреждённый файл, что указан в ошибке, и файлов кэша почтового сервера Dovecot в другую директорию.
Для переноса файлов, можно использовать команду mv
в любой другой некритически важный каталог системы, например /tmp
, /home
и прочие.
Пример команды переноса файла письма:
mv /var/www/<user>/data/email/<mail_domain>/<mail_box>/.maildir/cur/<filename> /tmp/
Пример команды переноса файлов кэша Dovecot:
mv /var/www/<user>/data/email/<mail_domain>/<mail_box>/.maildir/dovecot* /tmp/
После переноса файлов необходимо перезапустить службу Dovecot:
systemctl restart dovecot
Если после этого письма по-прежнему не отображаются, а в журнале присутствует аналогичная ошибка, повторите действия с новым файлом указанным в ошибке.