Я просмотрел следующее и не нашел решения своей проблемы:
Переход с любого сервера IMAP / POP3 на Dovecot
Не работает создание пользователей / паролей Dovecot Master
Безопасное перемещение Maildir на работающий сервер
Синхронизация между двумя почтовыми серверами
У меня есть сервер A, который был установка с помощью Postfix / Dovecot и использование формата ~ / Maildir в учетной записи системного пользователя (т.е. не виртуальных пользователей). У меня также есть сервер B, который был настроен таким же образом и может иметь или не иметь почту в ~ / Maildir.
Если ~ / Maildir не существует для пользователя на сервере B, то кажется безопасным Предположим, я могу просто синхронизировать сервер A ~ / Maildir с сервером B ~ / Maildir, и он сохранит папки, прочитанные письма, другие метаданные и т. д.
Если ~ / Maildir существует на обоих серверах, каждый с существующей почтой, как можно Я безопасно сливаю данные с сервера A в ~ / Maildir на сервере B? В принципе, сами файлы данных должны быть уникальными, и это должно сводиться к файлам метаданных Dovecot, которые будут существовать на обоих серверах.
Я искал здесь, но это общий ход, и я думаю, поскольку сервер конфигурация аналогична, если не идентична, тогда мой сценарий должен быть намного проще:
https://wiki2.dovecot.org/Migration/Dsync
Последний вариант делает его тривиальным и упрощенным, учитывая содержание других вопросов. Мне не ясно, предназначено ли это для виртуальных пользователей или пользователей системы.
https://serverfault.com/a/866298/386414
Я подумал, что мне нечего терять, и обнаружил что для одного пользователя я мог просто запустить:
doveadm import maildir: ~ / old_mail / Maildir "" all
, но это импортировало письма как непрочитанные, а не в том состоянии, в котором они находились для старого Maildir. Как мне это исправить?
Я думаю, что это больше того, что я хочу, поскольку с import
вы можете запустить его только один раз, так как он будет вводить электронную почту без разбора более одного раза:
doveadm sync maildir : ~ / old_mail / Maildir
, но у него все те же проблемы со всей непрочитанной почтой.
Это:
Миграция голубей и старых писем
Говорит так:
Мейлдир на самом деле использует уникальный формат, который делает это довольно простым. Просто поместите почту в каталог new/ внутри почтового корзины пользователей, если вы хотите, чтобы она отображалась как новая. Иначе оно попадет в каталог cur/.
Я не уверен, как это применяется в вашем сценарии (или даже если это так). но, возможно, стоит проверить.
Этот ответ приходит поздно, но я буквально слил четыре учетных записи электронной почты, выполнив
sudo cp -a previous/Maildir/* next/Maildir
Сообщения, которые ранее были помечены как новые, после слияния все еще были помечены как новые. Если вы хотите быть в большей безопасности, вы можете переместить только содержимое каталогов cur
и new
. Файлы в этих каталогах имеют уникальные имена, которые не должны конфликтовать.