Хорошую вещь сделал Google - дал возможность подключаться к почте, календарям и контактам через Microsoft Exchange ActiveSync. В выходом iOS 4 появилась возможность подключать несколько учётных записей Exchange. Это полезно для тех, кто уже использует Exchange для рабочей почты, теперь они могут подключить и GMail через ActiveSync.
Одна из очень удобных для меня функций в ActiveSync - получение информации о новых письмах (и не только) через Push. Письмо отправлено - письмо получено - письмо сразу видно на iPhone. Очень удобно. В обычном GMail, работающему по IMAP4, письма проверяются по методу Fetch периодически с интервалом 15, 30, 60 минут или же вручную. Если вам нужно реагировать на почту быстро, то этого явно недостаточно. Тут на помощь приходит переключение GMail на Microsoft Exchange ActiveSync.
Однако я столкнулся с одной досадной проблемой в GMail/Exchange - некоторые письма нечитаемы из-за проблем с кодировкой. Поменять кодировку из программы на iPhone и iPad нельзя, и я переходил на Web-интерфейс gmail.com. Проблемные письма приходят особенно часто от mail.ru, yandex.ru, ukr.net:
Я думал, что проблема именно в Mail.app, но случайно нашёл причину - виноват именно ActiveSync. Если вы можете поступиться скоростью прихода почты и вам досаждают нечитаемые письма, то переключитесь обратно на GMail IMAP4. При его использовании письма читаются нормально:
Проблема возникает при Content-Transfer-Encoding 8bit. Это абсолютно нормальные поля, письма в этом формате, например, формирует Yandex при отправке почты через web-интерфейс:
Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit
Если же отправлять из Mail.app на Mac или же с web-интерфейса GMail, то используется Content-transfer-encoding base64 и почта нормально открывается через ActiveSync:
Content-type: text/plain; charset=koi8-r Content-transfer-encoding: base64