У меня есть пользователь на нашем Linux-сервере Linux Dovecot / exim4 с объемом электронной почты 10 ГБ, мне нужно перенести эту учетную запись на их новый сервер Exchange, размещенный на сайте.
Как мне преобразовать почтовый ящик в формат Exchange? Я надеюсь, что упаковка входящих сообщений перед загрузкой значительно сократит их, но основным препятствием является их преобразование.
Вы бы использовали такой инструмент, как imapsync для передачи почтовых данных непосредственно из старой системы на новый сервер Exchange, если вы управляете обеими системами или имеете административный доступ к ним. В качестве альтернативы, если пользователь, например, использует Outlook, он может перенести свою почту с помощью локального экспорта в .PST или просто скопировать ее во вновь созданную учетную запись электронной почты в том же клиенте.
Лучше спросить, нужно ли вам переместить все 10 ГБ сообщений ... Не похоже, что вы администрируете новую систему ...
Я не уверен, есть ли инструмент для преобразования между dovecot и exchange. Но если оба почтовых ящика подключены к сети (например, user@server.tld
и user@exchange.server.tld
), ты можешь использовать imapsync
инструмент и переносить данные по протоколу IMAP. Пакет imapsync есть во всех распространенных дистрибутивах (debian и clones, RHEL и clones, ..)
Основное использование описано на страницах руководства:
imapsync \
--host1 imap.truc.org --user1 foo --password1 secret1 \
--host2 imap.trac.org --user2 bar --password2 secret2
Поскольку пользователь, как вы сказали, использует Thunderbird, простое (и медленное) решение - включить IMAP на сервере Exchange, добавить эту учетную запись IMAP в Thunderbird пользователя, а затем заставить Thunderbird скопировать сообщения.
imapsync уже упоминался, используя mailutil из Набор инструментов UW-IMAP - еще один вариант, который стоит рассмотреть.
Для интересующихся в решении я использовал:
Всего я использовал 3 хоста, назовем их dest, mid и source. dest и mid находятся в одной локальной сети.
используя SSH-туннель со сжатием, я создал сжатый туннель между мидом и источником, чтобы сохранить полосу пропускания.
samuel@mephisto:~$ ssh -C -L 7777:source:993 localhost cat -
используя эту ссылку в сочетании с imapsync, запущенным в середине, я успешно переношу почтовые ящики между хостами без особых проблем.
imapsync --host1 localhost --port 7777 --ssl1 --authmech LOGIN --user1 USERNAME1 --password1 PASSWORD1 --host2 dest --user2 USERNAME2 --password2 PASSWORD2 --authmech2 PLAIN
конечно, ваш синтаксис может отличаться!
Единственные причины, по которым я не запускал imapsync для dest или source, заключались в том, что
(a) Я не могу запустить его на dest, так как это сервер Microsoft, и
(б) если бы я запустил его из источника, я бы не смог сжать сеанс IMAP.