Imapsync неправильно синхронизирует символы Юникода

Я использую imapsync перенести мою учетную запись электронной почты с почтового сервера CPanel (курьера) на Debian/Dovecot. Проблема, с которой я сталкиваюсь, связана с некоторыми папками, которые содержат символы Unicode. Например, папка почтового ящика, содержащая греческие символы, мигрировала как INBOX.&A5QDtQO7A8QDrwOx- &A6QDzQPAA78DxQ-, У кого-нибудь есть решение по этому вопросу?

2 ответа

Решение

Строка "INBOX.&A5QDtQO7A8QDrwOx- &A6QDzQPAA78DxQ-" - это правильный внутренний код IMAP для представления чего-то, что более дружественное почтовое программное обеспечение может представлять как "INBOX.Δελτία Τύπου".

Итак, во-первых, вы должны проверить оба почтовых ящика на хосте host1 и host2 от одного и того же почтового клиента, возможно, что то, что вы считаете проблемой, вовсе не одно.

Во-вторых, если это действительно проблема, то это может быть связано с тем, что Dovecot не позволяет использовать некоторые символы utf-8, закодированные в utf7_imap.

Чтобы быть уверенным в этом, попробуйте создать папку в Dovecot вручную, и если она работает, папка создана, посмотрите, как ее отображает imapsync.

Чтобы решить эту проблему, в случае возникновения проблемы вы можете попытаться переименовать папки в более удобную для Dovecot кодировку с помощью опции imapsync --regextrans2.

Изменить "&A5QDtQO7A8QDrwOx- &A6QDzQPAA78DxQ-" на "Пресс-релизы"

imapsync ... --regextrans2 "s/&A5QDtQO7A8QDrwOx- &A6QDzQPAA78DxQ-/Press Releases/"

Чтобы помочь определить, какое фактическое имя папки соответствует коду utf7_imap, в архиве imapsync содержится скрипт с именем imap_utf7. Вот пример его использования:

echo "INBOX.&A5QDtQO7A8QDrwOx- &A6QDzQPAA78DxQ-"  | ./W/learn/imap_utf7
INBOX.Δελτία Τύπου

(Я написал imapsync)

Может быть, вы должны попробовать один из инструментов, который предлагает dovecot. Взгляните на этот Perl-скрипт или встроенный инструмент миграции с именем dsync.

Другие вопросы по тегам