From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <3F4372AA.6060603@mail15.com> Date: Wed, 20 Aug 2003 17:07:54 +0400 From: "Aleksey Avdeev" User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.4) Gecko/20030710 X-Accept-Language: ru, ru-ru, be, uk, en-us, en MIME-Version: 1.0 To: community@altlinux.ru Subject: Re: [Comm] =?KOI8-R?Q?=F3=C9=CE=C8=D2=CF=CE=C9=DA=C1=C3=C9=D1_?= =?KOI8-R?Q?=D7=CE=C5=DB=CE=C9=C7=CF_IMAP_=D3_=D7=CE=D5=D4=D2=C5=CE?= =?KOI8-R?Q?=CE=C9=CD=2E?= References: <3F40EBA1.2040907@mail15.com> <3F41A664.4090403@rmts.donpac.ru> <3F433A54.2080303@mail15.com> <3F43474E.60005@rmts.donpac.ru> In-Reply-To: <3F43474E.60005@rmts.donpac.ru> X-Enigmail-Version: 0.76.1.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit X-MDaemon-Deliver-To: community@altlinux.ru X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.2 Precedence: list Reply-To: community@altlinux.ru List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Aug 2003 13:04:38 -0000 Archived-At: List-Archive: List-Post: Прокопьев Евгений пишет: > Aleksey Avdeev пишет: > >>> В maildir (этот формат используется в CourierIMAP) прочитанные и >>> непрочитанные сообщения просто лежат в разных папках - вот и вся >>> разница между ними. В mbox - не знаю. И я плохо себе представляю, как >>> эту >> >> >> >> Тогда непонимаю: CourierIMAP поддерживает вложенные папки >> (поправьте, если неправ - я ещё неполностью разобрался с данным >> сервером). > > > вроде поддерживает, но я не пользовался ими > >> Как тогда реализовано отображение папок IMAP на maildir? Или каждая >> папка IMAP в формате maildir содержит несколько служебных вложенных >> папках? > > > да > >> Как тогда реализовано хранение флагов? И далее ещё куча подобных >> вопросов... :-) > > > Не знаю, читайте описание формата maildir. Подскажите пожалуйста, есть ли оное на русском? (Нашёл несколько описаний на сайтах посвящённых QMail, но они крайне поверхностны.) > >>> информацию можно использовать на практике - уж слишком сложным и >>> ненадежным будет механизм синхронизации. Придется писать двух демонов >>> на работе и дома, которые будут обмениваться данными о прочитанных >>> письмах. >> >> >> >> На работе всё помоему просто: таже Mozilla будет брать почту >> непосредственно с внешнего IMAP. А дома уже сложнее: повидимому надо >> будет брать письма с внешнего IMAP с сохранением _всех_ флагов и >> взаимодействуя непосредственно Courier-ом синхронизировать флаги (или >> передавать всё письмо)... >> >> Вобщем пока у меня нет ясности как лучше решить данную задачу. Есть >> стойкие подозрения, что Fetchmail сдесь неприменим вообще, а нужно >> использовать какойнибудь консольный клиент (хорошо работающий с IMAP), >> который способен запускаться по крону, открывать 2 ящика (внешний и >> внутренний) по IMAP и выполнять некий скрипт синхронизации. >> >> Всё пока в тумане. Надеюсь, данная дискуссия поможет его развеять. ;-) > > > Зря надеетесь :) Надежда умирает последней :-)) > > Никто здесь (эх, хорошо бы, если б я ошибался) таких задач перед собой > не ставил. Это классическая задача репликации двух БД - для реляционных > БД такие технологии давно проработаны, описаны, и есть куча > инструментов. А для специализированных БД, коими являются Maildir (да и > mbox тоже, только mbox по сравнению с maildir как dbf по сравнению > btrieve), никаких готовых инструментов нет. На макроуровне от > реляционных БД архитектурных отличий нет: > > Репликатор <------> Репликатор > | | > Домашний Внешний > IMAP (БД) IMAP (БД) > > Разница в форматах данных и алгоритмах отслеживания изменений, пересылки > изменений и разрешения конфликтов. И в уровне, на котором должен > работать репликатор - уровень протокола IMAP или файловый уровень. Для данной задачи, наиболее простой вариант (ИМХО) - скрипт, работающий поверх почтового клиента. > > Короче, если Вы знаете, что такое репликация в реляционных БД, Вы можете > себе представить, насколько сложно будет реализовать восход солнца > вручную. А если не знаете, то читайте про теорию репликации. Зато, сдесь и задача специальная. А значит и решить её проще: заранее отсекается куча вариантов, которые необходимо учитывать при решении общей задачи. :-) (В общем виде реализовывать репликацию не приходилось. Конкретно под задачу - пару раз пришлось. :-)) -- С уважением. Алексей.