SlideShare una empresa de Scribd logo
1 de 23
IMAP в Почте Mail.ru
Готовые реализации

          Dovecot

          UV IMAP

          Courier IMAP

          Cyrus IMAP

         …
История POP3 и IMAP
История



POP POP2        POP3


        IMAP IMAP2


’84   ’85 ’86   ‘88
История



POP POP2        POP3   APOP UIDL    SSL


        IMAP IMAP2 IMAP4           IMAP4r1 IDLE
                                     SSL

’84   ’85 ’86   ‘88    ’93   ’94     ’96   ’97
История



POP POP2        POP3   APOP UIDL    SSL          STLS POP4(?)


        IMAP IMAP2 IMAP4           IMAP4r1 IDLE STLS         UIDPLUS XLIST
                                     SSL

’84   ’85 ’86   ‘88    ’93   ’94     ’96   ’97   ’99   ’03    ’05    ‘08
История



POP POP2        POP3   APOP UIDL     SSL          STLS POP4(?)


        IMAP IMAP2 IMAP4            IMAP4r1 IDLE STLS          UIDPLUS XLIST
                                     SSL

’84   ’85 ’86   ‘88     ’93   ’94     ’96   ’97    ’99   ’03    ’05    ‘08
IMAP-клиенты
IMAP-клиенты

  Мобильные               Десктопные
   iPhone         30%      Thunderbird      10%

   iPad           20%      MacOS X Mail     3%

   Android и другие 30%    Outlook          3%

                           Другие desktop   4%
Десктопные клиенты


           выбор папки

               флаги / uid-ы сообщений

                  список сообщений

                         тела всех сообщений


                                   nop / idle
Мобильные клиенты


         выбор папки

             поиск N последних сообщений

                страница списка сообщений, сниппеты

                       текст отображаемого письма     nop / idle

                          картинки
Архитектура
Архитектура

                веб-фронтенд
клиент
                pop3-фронтенд
                imap-фронтенд


         хранилище       авторизация
Хранилище


    хранилище определяет архитектуру

    хранилище уже написано

    переиндексация – дорого
Нагрузка



     разнообразная нагрузка

     длинные сессии, несколько сессий
         от пользователя

     10000 одновременных соединений
Нагрузка


     epoll

     короткие сессии с хранилищем

     кэширование
Проблемы и Хаки
Работа с папками


     удаление писем

     эмуляция move
Получение писем


     получение с хранилища

     хаки для android-клиентов

     test-driven development
Будущее
Будущее


     приведение к RFC / удаление всех хаков

     полнотекстовый поиск

     push-уведомления

     расширения IMAP
СПАСИБО!
     Виктор Стародуб
Программист, Почта Mail.ru
 v.starodub@corp.mail.ru

Más contenido relacionado

Más de kuchinskaya

Más de kuchinskaya (20)

Kharkov
KharkovKharkov
Kharkov
 
Zamyakin
ZamyakinZamyakin
Zamyakin
 
Smirnov dependency-injection-techforum(1)
Smirnov dependency-injection-techforum(1)Smirnov dependency-injection-techforum(1)
Smirnov dependency-injection-techforum(1)
 
Smirnov reverse-engineering-techforum
Smirnov reverse-engineering-techforumSmirnov reverse-engineering-techforum
Smirnov reverse-engineering-techforum
 
Zacepin
ZacepinZacepin
Zacepin
 
Zagursky
ZagurskyZagursky
Zagursky
 
Haritonov
HaritonovHaritonov
Haritonov
 
Chudov
ChudovChudov
Chudov
 
Bubnov
BubnovBubnov
Bubnov
 
A.pleshkov
A.pleshkovA.pleshkov
A.pleshkov
 
Zenovich
ZenovichZenovich
Zenovich
 
Romanenko
RomanenkoRomanenko
Romanenko
 
Perepelitsa
PerepelitsaPerepelitsa
Perepelitsa
 
Osipov
OsipovOsipov
Osipov
 
Kubasov
KubasovKubasov
Kubasov
 
Kalugin balashov
Kalugin balashovKalugin balashov
Kalugin balashov
 
владимир габриелян
владимир габриелянвладимир габриелян
владимир габриелян
 
чашкин иван
чашкин иванчашкин иван
чашкин иван
 
сумин андрей
сумин андрейсумин андрей
сумин андрей
 
митасов роман
митасов романмитасов роман
митасов роман
 

виктор стародуб