[Comm] Синхронизация внешниго IMAP с внутренним.
Прокопьев Евгений
=?iso-8859-1?q?john_=CE=C1_rmts=2Edonpac=2Eru?=
Ср Авг 20 14:02:54 MSD 2003
Aleksey Avdeev пишет:
>> В maildir (этот формат используется в CourierIMAP) прочитанные и
>> непрочитанные сообщения просто лежат в разных папках - вот и вся
>> разница между ними. В mbox - не знаю. И я плохо себе представляю, как эту
>
>
> Тогда непонимаю: CourierIMAP поддерживает вложенные папки (поправьте,
> если неправ - я ещё неполностью разобрался с данным сервером).
вроде поддерживает, но я не пользовался ими
> Как тогда
> реализовано отображение папок IMAP на maildir? Или каждая папка IMAP в
> формате maildir содержит несколько служебных вложенных папках?
да
> Как тогда
> реализовано хранение флагов? И далее ещё куча подобных вопросов... :-)
Не знаю, читайте описание формата maildir.
>> информацию можно использовать на практике - уж слишком сложным и
>> ненадежным будет механизм синхронизации. Придется писать двух демонов
>> на работе и дома, которые будут обмениваться данными о прочитанных
>> письмах.
>
>
> На работе всё помоему просто: таже Mozilla будет брать почту
> непосредственно с внешнего IMAP. А дома уже сложнее: повидимому надо
> будет брать письма с внешнего IMAP с сохранением _всех_ флагов и
> взаимодействуя непосредственно Courier-ом синхронизировать флаги (или
> передавать всё письмо)...
>
> Вобщем пока у меня нет ясности как лучше решить данную задачу. Есть
> стойкие подозрения, что Fetchmail сдесь неприменим вообще, а нужно
> использовать какойнибудь консольный клиент (хорошо работающий с IMAP),
> который способен запускаться по крону, открывать 2 ящика (внешний и
> внутренний) по IMAP и выполнять некий скрипт синхронизации.
>
> Всё пока в тумане. Надеюсь, данная дискуссия поможет его развеять. ;-)
Зря надеетесь :)
Никто здесь (эх, хорошо бы, если б я ошибался) таких задач перед собой
не ставил. Это классическая задача репликации двух БД - для реляционных
БД такие технологии давно проработаны, описаны, и есть куча
инструментов. А для специализированных БД, коими являются Maildir (да и
mbox тоже, только mbox по сравнению с maildir как dbf по сравнению
btrieve), никаких готовых инструментов нет. На макроуровне от
реляционных БД архитектурных отличий нет:
Репликатор <------> Репликатор
| |
Домашний Внешний
IMAP (БД) IMAP (БД)
Разница в форматах данных и алгоритмах отслеживания изменений, пересылки
изменений и разрешения конфликтов. И в уровне, на котором должен
работать репликатор - уровень протокола IMAP или файловый уровень.
Короче, если Вы знаете, что такое репликация в реляционных БД, Вы можете
себе представить, насколько сложно будет реализовать восход солнца
вручную. А если не знаете, то читайте про теорию репликации.
--
С уважением, Прокопьев Евгений
Подробная информация о списке рассылки community