IwoMailClient
Android mail client for Exchange ActiveSync, IMAP and POP3
Install / Use
/learn @DedovMosol/IwoMailClientREADME
iwo Mail Client
Почтовый клиент для Android с поддержкой Microsoft Exchange Server 2007+ (ActiveSync/EWS), IMAP и POP3.
Версия: 1.6.2
Разработчик: DedovMosol
Telegram: @i_wantout
Email: andreyid@outlook.com
🌟 Особенности
- 📧 Exchange ActiveSync — поддержка EAS 12.0-14.1 (Exchange 2007+). Протестировано на Exchange 2007 SP1 (EAS 12.1)
- 🔄 EWS для Exchange 2007 — календарь, задачи, заметки, черновики через EWS с NTLMv2 (fallback для EAS 12.x)
- 📬 IMAP/POP3 — работа с любыми почтовыми серверами (скоро ожидается)
- 📱 Android 8.0 - 16 — работает на данных версиях Android
- 🔒 Совместимость с Exchange 2007 — поддержка TLS 1.0/1.1 через Conscrypt
- 🔐 Сертификаты сервера — поддержка самоподписанных сертификатов для корпоративных серверов
- 🔑 Клиентские сертификаты — mTLS аутентификация через PKCS#12 (.p12/.pfx) для корпоративных сред с двусторонней проверкой
- 🌍 Два языка — 🇷🇺 Русский / 🇬🇧 English
- 🎨 Material Design 3 — современный интерфейс с цветовыми темами
- 🔔 Push-уведомления — мгновенные уведомления о новых письмах (Direct Push)
📱 Возможности
- ✅ Почта — синхронизация, отправка с вложениями, поиск, фильтры, избранное, управление папками, черновики, отложенная отправка, отправка группе пользователей
- ✅ Контакты — личные и GAL, группы, импорт/экспорт (vCard, CSV)
- ✅ Календарь — повторяющиеся события, назначение участников, вложения, ссылки на онлайн-встречи
- ✅ Заметки — создание, редактирование, синхронизация
- ✅ Задачи — создание, редактирование, назначение, напоминания, синхронизация
- ✅ Уведомления — Push (Direct Push), фоновая синхронизация, ночной режим
- ✅ Автоочистка — настраиваемая очистка Trash/Drafts/Spam для каждого аккаунта (по интервалу или отключение через «Никогда»)
- ✅ Виджет — виджет на домашнем экране с быстрым доступом к письмам, поиску, календарю, задачам и написанию
- ✅ Интерфейс — тёмная/светлая тема, 4 цветовые схемы, персонализация
- ✅ Несколько аккаунтов — с индивидуальными подписями и настройками
- ✅ MDN/DSN — запрос отчёта о прочтении и доставке
📋 История изменений: CHANGELOG_RU.md
⚠️ Важно: Переименование пакета
Версия 1.6.1 изменила имя пакета с com.iwo.iwomail на com.dedovmosol.iwomail.
Это означает:
- ❌ Обновление старых версий через APK невозможно — Android воспринимает это как другое приложение
- ⚠️ Требуется полная переустановка — удалить старую версию, установить новую
- 💾 Данные будут утеряны — экспортируйте контакты/настройки перед обновлением
- ✅ В будущих версиях обновления будут работать штатно
Как обновиться:
- Экспортировать контакты (vCard/CSV) в приложении
- Удалить старую версию
com.iwo.iwomail - Установить новую версию
com.dedovmosol.iwomail - Настроить аккаунты заново
- Импортировать контакты
📋 Требования
| Параметр | Минимум | Рекомендуется | |----------|---------|---------------| | Android | 8.0+ (API 26) | — | | Оперативная память | 2 ГБ | 4+ ГБ | | Свободное место | 50 МБ | 100+ МБ | | Процессор | ARMv7 / x86 | ARM64 / x86_64 |
- Target SDK: 36 (Android 16)
- Поддерживаемые архитектуры: armeabi-v7a, arm64-v8a, x86, x86_64
🖥️ Поддерживаемые серверы
| Сервер | Статус | |--------|--------| | Exchange 2007 SP1/SP2 | ✅ Стабильно работает | | Exchange 2010/2013+ | ⚠️ Требует тестирования | | Office 365 | ⚠️ Требует OAuth | | IMAP/POP3 серверы | ⚠️ Beta |
💡 Известные ограничения
- Office 365 / Modern Auth — OAuth 2.0 пока не поддерживается (только Basic Auth)
- IMAP/POP3 — в beta-версии, может работать нестабильно
- EAS 16.0+ (Exchange 2016+) — не протестировано, возможны проблемы
- S/MIME подписи — не поддерживается
📊 Технологический стек
Язык и фреймворки:
- Kotlin 1.9.22
- Jetpack Compose — UI
- Coroutines + Flow — асинхронность
- Material Design 3 — дизайн
Хранилище:
- Room Database — локальная БД
- DataStore — настройки и чекпоинты синхронизации/уведомлений по аккаунтам
Сеть и протоколы:
- OkHttp 4.12.0 — HTTP клиент
- Conscrypt — TLS 1.0-1.3 (Exchange 2007 support)
- EAS 12.0-14.1 — ActiveSync
- EWS (NTLM) — Exchange Web Services
- JavaMail (com.sun.mail) — IMAP/POP3
Безопасность:
- Certificate Pinning (Public Key Pinning)
- SSL/TLS mutual authentication (mTLS)
- Self-signed certificates support
Другое:
- WorkManager — фоновая синхронизация
- Manual DI (RepositoryProvider) — dependency injection
- Coil — загрузка изображений
🔧 Сборка
./gradlew assembleDebug # Debug
./gradlew assembleRelease # Release
📖 Документация
🤝 Вклад в проект
Этот проект открыт для улучшений! Вот как вы можете помочь:
🐛 Сообщить о баге:
- Telegram: @i_wantout
- Email: andreyid@outlook.com
- GitHub Issues
💡 Предложить улучшение:
- Напишите в Telegram с описанием идеи
- Или создайте Issue на GitHub
❓ Задать вопрос:
- По настройке Exchange 2007/2010/2013
- По проблемам синхронизации
- По любым техническим вопросам
🔧 Pull Requests:
- Приветствуются исправления багов
- Приветствуются новые возможности
- Следуйте существующему code style
- Пишите понятные commit messages
🏗️ Архитектура
UI Layer
Jetpack Compose — 22 экрана, 8 компонентов
Navigation, Theme, Localization
↓
Repository Layer
AccountRepository, MailRepository, CalendarRepository,
ContactRepository, NoteRepository, TaskRepository, SettingsRepository
+ EmailSyncService, EmailOperationsService, FolderSyncService
↓
Protocol Layer
EAS/EWS — EasClient (Email, Calendar, Tasks, Notes, Drafts, Contacts, Attachment)
IMAP — ImapClient | POP3 — Pop3Client
↓
Database Layer Network Layer
Room — 11 DAO, 10 Entity HttpClientProvider, NetworkMonitor
MailDatabase (v39) NtlmAuthenticator
↓
Background Services
PushService, SyncWorker, OutboxWorker
BootReceiver, SyncAlarmReceiver, PushRestartWorker
ServiceWatchdogReceiver, ScheduledEmailWorker
NotificationHelper, MailNotificationActionReceiver
CalendarReminderReceiver, TaskReminderReceiver
MarkEmailReadWorker, MarkTaskCompleteWorker
📄 Лицензия
MIT License
© 2025-2026 DedovMosol
Related Skills
node-connect
354.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
112.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
354.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
354.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
