IMAP позволяет получить доступ к иерархии папок и всем электронным письмам в данной учетной записи.
Произошел сбой сервера (каламбур) с нашими основными почтовыми серверами, поэтому мы должны перенести все учетные записи электронной почты на новую систему. Я использую общий хостинг, поэтому запустить командную строку невозможно.
Можно ли подключиться ко всем учетным записям, массово получать сообщения через IMAP, а затем использовать IMAP с новым почтовым сервером для загрузки всех этих сообщений обратно? При условии создания учетных записей электронной почты ..
Есть утилита imapsync, которая сделает именно то, что вы описали.
я нашел Инструмент миграции IMAP написанная на PHP - лучшая и простая в использовании альтернатива.
За приложение ImapSync нужно заплатить 15 долларов.
Лиственница это альтернатива imapsync это работает так же легко. В рабочей среде Ruby установка так же проста, как:
gem install larch
Чтобы перенести десятки почтовых ящиков с одного сервера на другой, вы можете создать сценарий, который выглядит примерно так:
#!/bin/bash
# pullmail.sh
function pullmail {
larch \
--all \
--from imaps://source.example.com \
--from-pass "$2" \
--from-user "$1" \
--max-retries 20 \
--to imaps://dest.example.com \
--to-pass "$2" \
--to-user "$1"
}
PS4='\t+ '
set -x
pullmail alice password1
pullmail bob password2
[…and so on…]
Затем вы можете запустить его с помощью: ./pullmail.sh 2>&1 >> pullmail-$(date +%Y%m%d%H%M).log &
. После завершения вы можете просмотреть журнал, чтобы указать адрес электронной почты, по которому могли возникнуть проблемы с синхронизацией. Если повезет, вся почта в каждой папке и в каждой учетной записи будет скопирована со старого сервера на новый.
Также, Лиственница достаточно умен, чтобы отслеживать, какая почта уже синхронизирована, поэтому можно безопасно повторно запускать синхронизацию снова и снова, пока вы не будете удовлетворены.
Вам нужно проконсультироваться с документация чтобы полностью понять, что происходит. Также есть форум поддержки в случае возникновения каких-либо проблем.