3

У меня проблемы с переносом системы электронной почты нашей компании со старого провайдера на нового, назовите это FOO.

Я уже создал через панель управления адреса электронной почты и почтовые ящики в FOO, чтобы продублировать существующую структуру. Чтобы проверить, что все работает, я добавил и настроил новую учетную запись на каждом почтовом клиенте с данными FOO smtp и imap и выполнил простую отправку и получение. Пока все хорошо, клиенты отправляют и получают почту без проблем.

Проблема в том, что новые почтовые ящики на FOO пусты, и мне нужно заполнить их существующими письмами.

Что у меня есть: для каждого клиента моих локальных пользователей у меня есть куча файлов .eml, организованных в папки (Входящие, Отправленные и т.д.). Каждый .eml является почтой.

Что я хочу: для каждой учетной записи я хочу импортировать эти файлы .eml в почтовые ящики FOO, чтобы я мог настроить клиентов с помощью сервера FOO imap server/username/password, и пользователям снова будут доступны их письма.

Первоначально я сделал это так: в своей локальной установке Thunderbird я создал одну учетную запись для каждой учетной записи пользователя для миграции. Я импортировал (через расширение TB ImportExportTools) файлы .eml во вновь созданную учетную запись. Автоматически Thunderbird синхронизирует почту между локальным клиентом и сервером imap в WF.

Было бы здорово, если бы это сработало ... но через некоторое время задача потерпела неудачу. Иногда для таймаутов, еще раз для проблем с сетью и так далее ... По какой-то причине процесс останавливается, и я не могу получить всю свою почту на удаленный сервер.

Я должен перенести много писем (в среднем 5/6 Гб для каждого пользователя).

Мое решение:

  1. для каждого существующего клиента для миграции создайте zip-файл, содержащий соответствующие файлы .eml.
  2. загрузите каждый почтовый индекс в мою учетную запись FOO (используя scp или ftp, я должен подумать об этом)
  3. установить почтовый клиент командной строки (сосна? собачонка? другие ?! КОТОРЫЙ ИЗ?) в моем аккаунте FOO
  4. создать учетную запись почты для каждой учетной записи для миграции
  5. импортировать .eml в клиент и надеяться на синхронизацию IMAP

Мне это кажется довольно сложным, и я даже не уверен, что это может сработать. У вас есть лучшее решение для этого? И какой клиент поддерживает импорт eml и IMAP?

Любое предложение с благодарностью.

1 ответ1

7

Если у вас все еще есть доступ к исходному сервису, лучшим способом на данный момент является использование инструмента « ìmapsync (или « OfflineIMAP» в качестве альтернативы).

Это позволит вам временно синхронизировать старый сервис с новым. Также будут сохранены все флаги, так что непрочитанные маркеры будут сохранены. Это также сохранит любые структуры папок.

Второй наиболее распространенный способ достижения этого потребовал бы некоторой тщательной координации почтовой маршрутизации. Это будет копия файла с исходными данными, обычно в формате maildir или mbox. Это также может потребовать помощи от предыдущего почтового провайдера, если у вас нет доступа оболочки к старой службе.

imapsync , безусловно, является предпочтительным методом. Попытка сделать передачу с использованием файлов eml не рекомендуется. Для начала вы потеряете все флаги и папки. Кроме того, попытка сделать это для 5-6 ГБ на пользователя займет ДОЛГОЕ время. Вам придется делать это поэтапно.

Кроме того, я не совсем уверен, что Pine или MUTT помогут сделать это так, как вы обрисовали, хотя вы можете писать макросы для передачи файлов по нескольку за раз.


ОБНОВЛЕНИЕ:

Как мы теперь знаем, синхронизация с оригиналом невозможна. Лучший способ записать ввод данных из файлов EML в систему на основе maildir (если это то, что у вас есть, это наиболее распространенный формат хранения для серверов Linux IMAP) - это использовать

getmail_maildir ~/Maildir/ < email_file.eml

getmail_maildir является частью пакета getmail . Это работает, только если у вас есть прямой доступ к почтовым папкам, хотя, как правило, это справедливо для лучших хостов. Не совсем уверен, что делать это с другим форматом хранения почты mbox но я думаю, что в getmail также есть команда getmail_mbox . Кроме того, в приложении Windows « IMAPSize » есть команда для преобразования из EML в mbox.

Опять же, гораздо проще перенести электронную почту в физическое почтовое хранилище, чем пытаться передать все через IMAP. Однако может случиться так, что вам придется сделать это, потому что новый провайдер не может предоставить подходящий доступ (как в случае, например, при переходе на GMail).

В этом случае лучше всего перенести файлы EML в формат maildir с использованием "синтетического" локального maildir (в maildir нет ничего особенного, кроме соглашений об именах, поэтому вам не нужен сервер IMAP для использования их) и getmail_maildir . Затем используйте IMAPSync или OfflineIMAP, чтобы перейти от этого локального maildir к новому сервису. Таким образом, вам не нужно связываться с попыткой написать MUTT.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .