У меня есть почтовый сервер, который использует dovecot в качестве сервера imap, я хотел реализовать шифрование локальной почты, поэтому я решил использовать плагин mail_crypt dovecot, используя приведенную ниже документацию.
https://doc.dovecot.org/configuration_manual/mail_crypt_plugin/
Я выбрал глобальный метод, используя одну пару ключей ecc для шифрования, создал пару ключей и поместил необходимые параметры в 90-plugins.conf:
plugin {
mail_crypt_curve = prime256v1
mail_crypt_global_private_key = <ecprivkey.pem
mail_crypt_global_public_key = <ecpubkey.pem
mail_crypt_save_version = 2
}
И добавил плагин mail_crypt в список плагинов в 20-lmtp.conf.
Я отправил тестовое электронное письмо, и оно было успешно зашифровано.
Однако, когда я открываю письмо в своем почтовом клиенте (в данном случае neomutt), я не могу открыть письмо и папку, в которой оно находится, а именно INBOX. Если посмотреть на dovecot.log, причина в повреждении кэша индекса, он жалуется, что размер слишком мал.
18 августа 15:44:15 imap (пользователь) <33736> <Hj + y6yetwKhRXM6s>: Ошибка: почтовый ящик INBOX: UID = xxxx: чтение (/ path / to / Maildir / cur /) не удалось: размер кэшированного сообщения меньше ожидаемого ( 3981 <4220, ящик = INBOX, UID = xxxx) (причина чтения = почтовый поток)
18 августа 15:44:15 imap (пользователь) <33736> <Hj + y6yetwKhRXM6s>: Ошибка: поврежденная запись в файле кэша индекса /path/to/Maildir/dovecot.index.cache: UID xxxx: Неработающий физический размер в почтовом ящике INBOX : read (/ path / to / Maildir / cur /) не удалось: размер кешированного сообщения меньше ожидаемого (3981 <4220, box = INBOX UID = xxxx)
18 августа 15:44:15 imap (пользователь) <33736> <Hj + y6yetwKhRXM6s>: Ошибка: почтовый ящик INBOX: UID = xxxx: чтение (/ path / to / Maildir / cur /) не удалось: размер кэшированного сообщения меньше ожидаемого ( 3981 <4220, коробка = INBOX, UID = xxxx)
18 августа 15:44:15 imap (пользователь) <33736> <Hj + y6yetwKhRXM6s>: Информация: FETCH failed: Произошла внутренняя ошибка. Обратитесь к журналу сервера для получения дополнительной информации. [2020-08-18 15:44:15] in = 551 out = 2369 удалено = 0 удалено = 0 trashed = 0 hdr_count = 1 hdr_bytes = 68 body_count = 0 body_bytes = 0
Я попытался переместить файлы кеша и перезапустить службу dovecot, которая затем создает новые файлы кеша, но возникает та же ошибка. Отключение плагина, удаление зашифрованной электронной почты и перезапуск dovecot после удаления вновь созданных файлов кеша снова позволили мне получить доступ к INBOX.
Насколько я понимаю, dovecot должен автоматически настраивать размер сообщения кеша.
Возникает ли эта проблема из-за того, что у меня одновременно были зашифрованная электронная почта и старые незашифрованные электронные письма в почтовом ящике, и это приводило к повреждению кеша? Нужно ли мне сначала удалить все старые незашифрованные электронные письма перед внедрением плагина mail_crypt?