Привет! Меня зовут Илья. Два года назад я присоединился к работе над мобильным клиентом IMAP. Ранние версии приложения долго загружали список писем и тратили большое количество трафика для обновления ящика. Встал вопрос об оптимизации работы с протоколом и о возможностях этого протокола вообще. О протоколе я не знал ничего и погрузился в чтение документации. Оказывается, все это время клиент использовал протокол напролом и совсем не учитывал особенности реализации. Эти особенности помогли ускорить загрузку почты в 2 — 3 раза. О том что такое IMAP и какие есть фишки для его оптимизации дальше в моей статье.Читать полностью »
Рубрика «imap»
Gotta go fast. Быстрая синхронизация писем по IMAP
2020-03-19 в 12:46, admin, рубрики: imap, IT-стандарты, rfc, оптимизация, почта, протоколыПочтовый сервер на Linux
2017-03-31 в 11:58, admin, рубрики: imap, linux, pop, smtp, Блог компании RUVDS.com, Настройка Linux, почтовый сервер, Серверное администрирование, электронная почтаКак наладить работу почтового сервера, умеющего принимать и отправлять электронную корреспонденцию, бороться со спамом, взаимодействовать с клиентами? На самом деле, всё довольно просто.
Сегодня поговорим о почтовых серверах на Linux. Мы расскажем о том, как настроить сервер, о широко распространённом в интернете протоколе SMTP, а также о других протоколах, таких, как POP и IMAP. В итоге вы окажетесь обладателем полноценной системы для работы с электронной почтой.
Начнём с SMTP-сервера на Linux
Читать полностью »
О тонкостях «шифрованного трубопровода» в процессе разработки IMAP-клиента на Scala+Akka+Spray
2014-09-19 в 11:48, admin, рубрики: akka, imap, scala, tcp, Программирование, Сетевые технологии Совсем недавно я перешел с горячо любимого мной объектно-ориентированного C++ на новый для меня и еще не совсем понятный функциональный Scala. Причины перехода — совершенно отдельная история. Но одной из них было наличие достаточно хорошей, судя по отзывам, поддержки модели акторов — с помощью библиотеки Akka. Я давно мечтал опробовать на собственном опыте все описываемые преимущества этой технологии, а существующие реализации на C++ (CAF_C++ и Theron), которые я немного повертел в небольших тестах, оказались достаточно сырыми для моих нужд. Наиболее каноническое же (по моему мнению) решение модели акторов — Erlang, — я отмел, так как посчитал, что для его освоения мне понадобится слишком много времени, да и не факт, что я смогу найти необходимые мне сторонние библиотеки для этого далеко не универсального языка. Поэтому в результате выбор мой пал именно на Scala в связке с Akka, тем более что Scala я когда-то давно уже начинал изучать, но забросил за нецелесообразностью. Однако, как оказалось, на этот раз время для своего эксперимента я выбрал не самое удачное, в чем я убедился только спустя некоторое время.
Читать полностью »
Gmail API
2014-06-25 в 21:38, admin, рубрики: api, gmail, gmail api, Google, imap, метки: gmail api, imapКомпания Google решила открыть для сторонних приложений доступ к содержимому почтовых ящиков Gmail и представила программные интерфейсы Gmail API. По мнению Google, они удобнее и безопаснее, чем протокол IMAP.
Gmail API дают доступ к отдельным ресурсам, таким как Threads
, Messages
, Labels
, Drafts
или History
. Например, стороннее приложение может запросить доступ только на отправку писем (но не чтение), или только на чтение (но не отправку), или только на изменение меток для писем и цепочек, или только на поиск конкретных писем и цепочек.
Читать полностью »
Приглашаем на вебинар «Миграция на Kerio Connect»
2014-06-11 в 13:29, admin, рубрики: imap, Блог компании Kerio Technologies, утилиты миграции, метки: imap, утилиты миграцииКомпания Kerio предлагает несколько утилит для перехода на собственное решение Kerio Connect. Это утилиты по переходу с IMAP почтовых серверов и по переходу с решения Microsoft Exchange. На данном вебинаре мы расскажем о выполнении перехода с использованием различных методов, а также продемонстрируем процесс миграции.
Что обсудим:
Источники информации для выполнения перехода на Kerio Connect
Выполнение перехода с MS Exchange 2010
Выполнение перехода с Gmail.com
Выполнение перехода с IMAP почтового сервера
Дата вебинара: 25 Июня | 11:00 (МСК)
Ведущий вебинара: Антон Тихонов, Технический менеджер
IMAP на boost::asio
2013-08-28 в 15:16, admin, рубрики: imap, mail.ru, Блог компании Mail.Ru Group, разработка, метки: boost.asio, imap, mail.ruИзначально в нашем IMAP-сервере использовался epoll-реактор собственной разработки. Как всегда, в процессе эксплуатации и роста нагрузки потихоньку набегают замечания, в результате чего со временем начинает накапливаться технический долг и замедляться разработка.
В нашем случае были также изначальные архитектурные замечания.
- Поток, обслуживающий реактор, никак не контролировался и при поступлении контрольных сигналов мог произойти race-condition. С другой стороны, останавливать или замедлять этот поток нельзя, поэтому возможные пути обхода выглядели неприемлемыми.
- Реактор не умел работать в full-duplex режиме. Это ограничивало его использование только интерактивными протоколами, каким является IMAP. Однако между серверами мы часто используем протокол IProto, который подразумевает full-duplex связь.
Лирическое отступление про IProto: протокол очень простой: заголовок из трёх полей типа uint32_t: команда, номер пакета, длинна данных. За счет поля «номер пакета» сервер может отвечать на запросы в любом порядке, а клиент может ждать ответа в асинхронном стиле и слать следующий запрос. В Mail.Ru Group он используется повсеместно — начиная с нашей Tarantool, и заканчивая сервисом антибрутфорса.
Поэтому было решено сделать тестовую версию, используя boost::asio. В этом посте я расскажу о переезде на реактор boost::asio, о его преимуществах и о подводных камнях, с которыми мы столкнулись.
Sieve: фильтрация почты на стороне сервера
2013-03-16 в 19:09, admin, рубрики: dovecot, imap, linux, postfix, sieve, SMTP-сервер, электронная почта, метки: dovecot, imap, linux, postfix, sieve, SMTP-сервер, электронная почтаПосле того, как Google закрыл Reader, я утратил веру в большую компанию, которая делает для меня инструмент, решающий важные мне задачи. Я решился строить свой собственный Луна-парк с читалками, агрегаторами, болжеком и т.п. Почта на своем домене — первое, что приходит в голову. Не вопрос прописать MX запись, поставить Postfix на локальную доставку, установить IMAP-сервер Dovecot и почтовый веб-клиент Roundcube, вопрос повторить функциональность «большой» системы, в первую очередь, сортировку. Я не буду дублировать существующие инструкции, опишу только неочевидные моменты.
Что меня не устраивает в Gmail? Это идеология меток (labels), которых можно прицепить к одному и тому же письму несколько, а в IMAP отобразить их в виде папок. В результате корневая папка всегда полна писем, а я такой человек (возможно, мой случай уникален), что всю «лишнюю» почту я удаляю, а всю «нужную» раскладываю по папкам. Я стираю все уведомления от веб-магазинов, форумов, сервисов и т.п., что не укладывается в идеологию Гугла «зачем удалять, если место бесконечно?». Гугл хочет видеть у меня как можно больше, а я не хочу видеть мусор. Далее, я пользовался iCloud/me.com, там все просто: правила сортировки входящей почты просто не работают и все.
Читать полностью »
Миграция с MDaemon на Exim+Dovecot
2012-10-10 в 5:15, admin, рубрики: dovecot, exim, FreeBSD 9.0, imap, mysql, pop, smtp, spamassassin, системное администрирование, метки: dovecot, exim, FreeBSD 9.0, imap, mysql, pop, smtp, spamassassinПриветствую Вас, жители Хабра.
Недавно на работе возникла ситуация: необходимо было поднять новый почтовый сервер и перенести на него все текущие учетные записи и структуру их почтовых папок со старого сервера. Эта необходимость возникла по нескольким причинам:
- Количество учетных записей было ограничено 250 аккаунтами;
- В последнее время сервер почты стал постоянно зависать так, что помогал только хард-ресет (в свое время подметил, что перед этим довольно-таки упорно используется HDD);
Вот что было на тот момент (на платформе SuperMicro):
- PC: CPU Intel® Xeon® X3440 2.53GHz 2.53GHz, RAM 4GB, HDD 1TB
- OS: Windows Server 2008 Enterprise Service Pack 2
- MTA: Alt-N MDaemon (SMTP(S)/POP(S)/IMAP(S) server, SpamD, WorldClient)
Использовалось около 240 учетных записей и папка Users (здесь вся почта) весила около 200 GB.
Что получилось (платформа Dell PowerEdge 2850)
- PC: CPUx2 Intel® Xeon® E5430 2.66GHz 2.67GHz, RAM 4GB, HDD 408GB (RAID: 0)
- OS: FreeBSD 9.0
- MTA: Exim+DoveCot+SpamAssassin
Ну а теперь все по порядку. Читать полностью »
IMAP: трудности перехода
2012-09-12 в 11:13, admin, рубрики: imap, mail.ru, Блог компании Mail.Ru Group, метки: imap, mail.ruКакие грабли зарыты в IMAP
Уже некоторое время IMAP работает в Почте Mail.Ru в полную силу, и я готов рассказать о том, с какими проблемами мы столкнулись при его запуске. Часть из них была связана с особенностями самого протокола и с его историей, другие были обусловлены спецификой взаимодействия IMAP с нашим хранилищем. Отдельная категория трудностей вызвана многообразием почтовых клиентов.
За подробностями — добро пожаловать под кат.
Читать полностью »