Команды бота

    Редактирование файла

    Создать автоматизацию

    Создать правило автоотправки

    Переслать сообщение в...

    • Загрузка списка групп...

    EmailInterface · Почта как чаты

    emailinterface-cover.jpg

    Android-клиент: несколько ящиков IMAP/SMTP, общая лента переписок в виде мессенджера. Отдельного бэкенда нет — письма ходят напрямую с почтовых серверов. Это приложение в AndroidProjects\eMailInterface, не бот eMailInterface_bot.

    Возможности

    • Несколько аккаунтов — пресеты Gmail и Яндекс или свой IMAP/SMTP.
    • Цвет аккаунта — в общей ленте чатов.
    • Лента — переписки со всех ящиков в одном списке.
    • Новый чат — выбор ящика-отправителя.
    • Синхронизация — входящие из INBOX по всем аккаунтам одной кнопкой (до 40 последних писем на ящик).
    • Ответы — plain-text через SMTP, RFC-заголовки треда сохраняются.
    • Закрепление, группы, непрочитанные.
    • Уведомления — локальные, deep link emailchat://chat/{conversationId}.
    • Пароли — только в EncryptedSharedPreferences, не в Room.

    Alpha 0.1.0. Нет OAuth, вложений и полноценного HTML; миграции Room разрушающие.

    Требования

    • Android 8 (API 26) и выше.
    • Android Studio, SDK 34, JDK 17.
    • Интернет до IMAP/SMTP провайдера.
    • Пароль приложения у Gmail/Яндекс (не основной пароль ящика). Значения в документацию не копировать.

    Установка и запуск

    В корне нужен local.properties с sdk.dir на Android SDK. Файл в git не класть.

    .\gradlew.bat assembleDebug
    .\gradlew.bat installDebug

    Тесты:

    .\gradlew.bat test
    .\gradlew.bat connectedAndroidTest

    Сейчас исходников в app/src/test и androidTest нет, зависимости подключены.

    Использование

    Добавить ящик

    1. Запустите приложение. Если аккаунтов нет — сразу экран создания.
    2. Выберите Gmail, Яндекс или Custom.
    3. Введите адрес и пароль приложения.
    4. Gmail: IMAP imap.gmail.com:993, SMTP smtp.gmail.com:587. Яндекс: imap.yandex.ru:993, smtp.yandex.ru:587. Custom — хосты вручную.
    5. Сохраните. Приложение проверяет IMAP, затем SMTP.

    Переписки

    1. Общий список чатов — все ящики.
    2. Откройте чат или создайте новый с выбранного аккаунта.
    3. «Синхронизация» подтягивает входящие.
    4. Можно закрепить чат и задать группу.

    Не закрывайте приложение во время отправки: статус пишется в delivery_note.

    Структура проекта

    eMailInterface/
    ├── app/                 # единственный модуль :app
    ├── gradle/wrapper/
    ├── doc/
    ├── README.md
    ├── build.gradle.kts
    └── settings.gradle.kts

    Слои, Room и IMAP — в doc/ARCHITECTURE.md.

    Технологии

    • Kotlin 2 / Java 17, AGP 8.5.2, Gradle 8.7.
    • Jetpack Compose + Material 3, Navigation Compose.
    • Room 2 — аккаунты, чаты, сообщения (email_interface.db, schema 3).
    • Angus Mail — IMAP и SMTP.
    • AndroidX Security Crypto — пароли.
    • AppGraph — ручной service locator, без Hilt/Koin.

    Разрешения

    INTERNET, POST_NOTIFICATIONS. Сеть только к указанным IMAP/SMTP. Пароли приложений и содержимое писем на устройство, не в репозиторий.

    История изменений

    Формат основан на Keep a Changelog, версии следуют versionName Android-приложения.

    [Unreleased]

    Changed

    • README приведён к лицу продукта: заголовок с «·», сценарии, разрешения; убраны бейджи shields.io, плейсхолдеры скриншотов и маркетинговый roadmap.
    • doc/AI_RULES.md: канон AndroidProjects\eMailInterface, не путать с eMailInterface_bot.

    [0.1.0] — 2026-05-28

    Added

    • Добавлена стартовая документация проекта по стандарту из четырех файлов: README.md, doc/CHANGELOG.md, doc/ARCHITECTURE.md, doc/AI_RULES.md.
    • Зафиксировано текущее состояние Android-клиента EmailInterface: мультиаккаунты, чатовый UI, IMAP/SMTP-транспорт, Room-хранилище и локальные уведомления.
    • Описаны команды сборки, установки и тестирования через Gradle Wrapper.

    Changed

    • Корневой README.md расширен из кратких заметок до полноценной точки входа с бейджами, стеком технологий, roadmap и ссылками на doc/.
    • Технические сведения о БД, архитектуре и правилах для ИИ вынесены в отдельные документы.

    Fixed

    • Устранен пробел в навигации по документации: теперь все обязательные документы связаны относительными ссылками.

    Technical Notes

    • Документация сформирована на основе Gradle-конфигурации и исходников app/src/main/java/com/emailinterface.
    • Текущая версия приложения взята из app/build.gradle.kts: versionName = "0.1.0".
    • Схема Room описана по entity-классам MailAccountEntity, ConversationEntity, MessageEntity; фактическая БД имеет version = 3 и exportSchema = false.

    Edit Message

    Attachments:

    AI Assistant

    Enter your instruction to edit the text: