Как стать автором
Обновить

Комментарии 9

Вопрос о почтовых клиентах под андроид. Когда мне на gmail-овский ящик приходит письмо, мой телефон тут же подаёт сигнал. Но когда приходит письмо на корпоративный IMAP-ящик, почтовый клиент узнаёт об этом лишь во время очередной проверки ящика (спустя несколько минут). Существует ли способ получать уведомления о новых письмах в реальном времени, как это делает gmail? И кстати, как он это делает вообще, не сажая батарею?
В настройках мобильного почтового клиента для каждого аккаунта есть возможность настроить частоту обновления (Setting -> Выбираете аккаунт -> Data usage — Sync Frequency. Там есть возможность выбрать Automatic (Push). Он у вас стоит на джмейл аккаунте, но не на IMAP. Кроме мобильного клиента, это должен поддерживать MDA (агент доставки почты, который на сервере). Если у вас это не сработало после того, как вы настроили на телефоне, то, скорее всего, это не настроено на сервере.

Насчёт батареи точно сказать не могу, но не думаю, что открытая сессия с сервером будет сильно есть батарею, там мизерная передача данных, это не такой ресурсоёмкий процесс.

В IMAP есть IDLE который позволяет получать почту мгновенно по её поступлении в ящик без опроса и push.

Тут разные механизмы уведомления.
Если используется приложение Gmail, то при получении письма, сервер gmail отправляет в приложение на телефоне push уведомление, т.е. схема: письмо отправляется с mail.ru => письмо приходит на почтовый сервер gmail => сервер gmail уведомляет об этом сервис push уведомлений => сервис отправляет уведомление на конкретное устройство (ios, android и т.д.)

Если используется корпоративный почтовый сервер, то сервера push уведомлений — нет и почтовый клиент, раз в N времени опрашивает MDA (dovecot) на наличие новых писем.
Ну в целом висит сессия между телефоном и сервисом, потому что сервер гугла не может так напрямую что-то вам послать. Ваш телефон держит сессию, а вот по ней сервер может уведомить. И точно также для корпоративной почты возможно настроить, но для Dovecot-а это нужно ручками настроить.
Нюанс в том что, в случае использования приложением сервиса GCM, телефон просыпается только раз чтобы забрать все пуши от всех приложений. в отличи от модели когда каждое приложение самостоятельно опрашивает свои сервера (будит телефон).

Сколько ни пытался настроить стандартное приложение «Почта» на iOS в режим push уведомлений (реальном времени) для Gmail сервера, так и не получилось. iOS 9-13.4 проверялись.
Принципиально хотел использовать стандартное приложение в качестве почтового клиента. Другие почтовые клиенты для iOS отлично работают в таком режиме. Да и на macOS в «Почте» работает.

Сталкивался с почтовым клиентом на iOS. Стоит сертификату на сервере просрочится, телефон начинает каждые 5 секунд выводить уведомление о ненадёжном сервере, и ничего с этим не получалось сделать, кроме как отключить временно аккаунт. Иначе телефоном невозможно пользоваться.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации