Примечание: этот подход определенно не для слабонервных, хотя это не так сложно, как может показаться на первый взгляд. Это требует некоторых (управляемых) входов командной строки и базового понимания устранения неполадок, так как есть некоторые (второстепенные) параметры, которые могут пойти не так, и тогда потребуется либо здравый смысл, либо быстрый онлайн-поиск.
Насколько я понимаю, в этом ответе нет ничего, что могло бы оказаться вредным для вашей электронной почты: если в какой-то момент вы решите, что это слишком сложно, сделайте глубокий вдох, дважды прочитайте весь ответ и посмотрим, сможете ли вы это сделать. Если вы все еще думаете, что это слишком сложно, тогда вы можете прервать процесс в любой момент и / или удалить любые предлагаемые программы - и ни одна из ваших писем не будет пропущена.
Я хочу поделиться своим решением с последней версией Thunderbird (52.9.1) и Microsoft Office Outlook 2016, чтобы получать локальные письма (полученные через POP3 от Thunderbird) в .PST
-file (так что POP3 в Outlook тоже).
По сути, он использует IMAP-сервер по вашему выбору в качестве промежуточного хранилища для вашей электронной почты. Я старался максимально автоматизировать процесс, делая его максимально надежным. Это все еще полуавтоматический процесс, который занимает некоторое время (около 1 часа для 20 папок и 15 000 писем / 2,5 ГиБ), но, по моему опыту, он работает очень надежно, он не наносит вреда существующим электронным письмам, и это все еще использует бесплатные, в основном инструменты с открытым исходным кодом.
Требования:
- Рабочая среда Python (v2) . Я решил использовать Windows Subsystem для Linux (требуется Win10) и Debian 9.4, но Python для Windows может работать так же хорошо.
- ImportExportTools с сайта дополнений Mozilla . В Thunderbird перейдите к
Add-Ons
, нажмите кнопку с зубчатым колесом и выберитеInstall xpi
. Выберите.xpi
-файл, перезапустите Thunderbird. - Некоторая версия imap-upload . (Я выбрал связанную вилку, потому что она работает лучше всего в моем опыте.)
- Работающий IMAP-сервер . Gmail работает нормально, но для ускорения работы я решил использовать локальный IMAP-сервер (без загрузки и загрузки через интернет-провайдера, без ограничения размера файла, без изменения настроек безопасности, ...), который в моем случае был hMailServer ,
Пошаговое руководство:
- Может быть, установить настройки ImportExportTools, такие как максимальная длина заголовков. Затем экспортируйте каждую папку с помощью
ImportExportTools -> Export Folder
. Вы можете выбрать несколько папок одновременно. Примечание: я решил экспортировать нерекурсивным способом, потому что рекурсивные файлы позже вызывали у меня проблемы с их кодированием. - (Необязательно) настроить hMailServer. Я использовал руководство Питера Келлнера «Как настроить свой собственный почтовый сервер Pop3 / IMAP для локального тестирования разработки» . По сути, вам нужно настроить домен (например
mail.local
), который также должен быть установлен в вашем hosts
-file . Затем добавьте учетную запись в домен, установите домен по умолчанию, возможно, увеличьте лимит размера и отключите автоматический бан. - Загрузите экспортированные файлы с помощью imap-upload:
python .\imap-upload.py .\INBOX --gmail
для Gmail или --host=mail.local --user=YOUR_USER@mail.local --password=YOUR_PASSWORD
для локального IMAP-сервера. Вы также можете поиграть --box
и добавить папки для каждого файла-папки. Обратите внимание, что если вы хотите сохранить структуру папок, вам нужно либо использовать --box
параметр, либо вам нужно будет загружать по одному файлу за раз, затем перейти к следующему шагу, а затем вернуться к этому шагу, повторить. - В Outlook настройте
.PST
-файл (если у вас его еще нет), настройте и mail.local
привяжите к нему свой -счет. Если вы использовали --box
, используйте IMAP, иначе используйте POP3. И POP3, и SMTP-адрес есть mail.local
. Настройте его для удаления сообщений электронной почты с сервера после их загрузки. - Для POP3: нажмите
Send/Receive
и подождите, пока все электронные письма не будут загружены. Затем переместите их в новую папку (при необходимости). - Для IMAP: нажмите
Send/Receive
и подождите. Затем вы можете перетащить и скопировать папки в локальный почтовый ящик.
- Проверьте, все ли прошло хорошо, посмотрев вывод imap-upload и сравнив количество писем между Thunderbird и Outlook. imap-upload обычно сообщает, что что-то пошло не так, но я обычно беру несколько случайных образцов вложений и писем, чтобы проверить, все ли прошло хорошо.