Pull to refresh

Перенос почты из Gmail в Google Apps

Reading time2 min
Views2.1K
image

Если вы решили использовать базовый пакет Google Apps, а до этого пользовались Gmail'ом, а письма старые вам нужны, то вы очень быстро столкнетесь с тем, что Google Email Uploader некорректно работает с кириллицей, да и вообще теряет письма при переносе, а миграция средствами Google Apps на бесплатном варианте недоступна. Конечно можно выкачать все через POP, но папка отправленные в новой почте будет пуста. Можно еще, вероятно, запросить триал премиум пакета и воспользоваться миграционным инструментом (он доступен в триале?), но если у вас хотя бы 10 пользователей, то придется заблокировать на карте 500$, деньги небольшие, но это лишние проблемы.

Кароче. Миграция прекрасно осуществляется при помощи imapsync. На маке она без проблем ставится из портов, на других системах тоже как-то устанавливается. После установки следует прочитать readme и faq. Там же можно найти ссылку на конкретный скрипт перезда.

Как обычно, сразу скрипт не заработал, во-первых кавычки и дефисы не те, но главное — ошибки, связанные с неоправдавшимися надеждами скрипта: «expected 8033 bytes but received 8238» и обрывы соединения, автор то советует коннектиться к амазону, но откуда же его взять.

imapsync --host1 imap.gmail.com --port1 993 \
--user1 putin@gmail.com --reconnectretry1 5000 --passfile1 ./passfile1 --ssl1 \
--host2 imap.gmail.com --port2 993 \
--user2 medvedev@kremlin.ru --reconnectretry2 5000 --passfile2 ./passfile2 --ssl2 \
--syncinternaldates --split1 100 --split2 100 \
--authmech1 LOGIN --authmech2 LOGIN \
--allowsizemismatch \
--justfolders

imapsync --host1 imap.gmail.com --port1 993 \
--user1 putin@gmail.com --reconnectretry1 5000 --passfile1 ./passfile1 --ssl1 \
--host2 imap.gmail.com --port2 993 \
--user2 medvedev@kremlin.ru --reconnectretry2 5000 --passfile2 ./passfile2 --ssl2 \
--syncinternaldates --split1 100 --split2 100 \
--authmech1 LOGIN --authmech2 LOGIN \
--allowsizemismatch \
--regexmess 's/Delivered-To: putin\@gmail.com/Delivered-To: medvedev\@kremlin.ru/g' \
--regexmess 's/<putin\@gmail.com>/<medvedev\@kremlin.ru>/g'


Пришлось добавить два параметра: --reconnectretry* и --allowsizemismatch.

Первый вызов создаст лейблы, второй — зальет письма. Останется только перенести фильтры, но там нужно скачать и залить xml — проблем не составит.

Пароли, говорят, лучше хранить в файлах, а то можно потерять.

Еще в авторском скрипте есть регулярное выражение, которое письма без темы начинает именовать как «no-subject», но кому это нужно и зачем, я не понял, потому не использовал.

Если у вас большой аппарат и все пользовались Gmail'ом, совсем несложно написать скрипт для пакетного переноса.

Гигабайт почты утилита перенесла через домашний компьютер за 5 часов.
Tags:
Hubs:
Total votes 18: ↑14 and ↓4+10
Comments5

Articles