Почта в Telegram Mini App TelePost
TGPT делает почтовый интерфейс внутри Telegram Mini App. Идея простая: пользователь открывает Web App из бота и работает с ящиком без отдельного почтового клиента. В одном интерфейсе доступны входящие, папки, чтение писем, создание письма, черновики, контакты, настройки и формы.
Это не попытка заменить большой корпоративный webmail. Скорее, это компактный рабочий слой для сценариев, где Telegram уже является основным местом общения и уведомлений.
Из чего состоит интерфейс
Frontend подключает несколько основных экранов:
- Inbox — список писем и папок;
- Compose — создание и отправка письма;
- Settings — настройки;
- Contacts — контакты;
- Forms — управление публичными формами.
Inbox загружает папки выбранного аккаунта через API. Если у пользователя несколько ящиков, интерфейс может работать с выбранным аккаунтом и сохранять этот выбор в браузерном хранилище.
Чтение писем и папки
Почтовая часть строится вокруг аккаунтов, папок и сообщений. API содержит маршруты для accounts, folders, messages, drafts и attachments. Это позволяет интерфейсу не держать всю почтовую логику на клиенте, а работать через понятные backend-endpoints.
Папки нужны не только для Inbox и Sent. В TelePost также учитываются сценарии Drafts и scheduled: черновики и запланированные письма хранятся как отдельная логика поверх таблицы drafts. Для пользователя это выглядит как обычные рабочие разделы почты.
С письмами можно делать базовые действия: открыть, прочитать, архивировать, удалить, отложить через snooze. Удаление реализовано аккуратно: для обычных папок письмо сначала перемещается в Trash, а окончательное удаление применяется уже в корзине.
Создание письма
Compose закрывает обычный сценарий отправки:
- пользователь выбирает получателей;
- заполняет тему и текст;
- при необходимости добавляет вложения;
- письмо сохраняется как черновик;
- затем отправляется сразу или планируется на будущее время.
Компонент Compose работает с получателями, черновиком, вложениями, AI-действиями и scheduled sending. Это важно для Mini App: пользователь может начать письмо, закрыть интерфейс и продолжить позже, не потеряв текст.
Как идёт отправка
Отправка устроена через backend:
- UI создаёт или обновляет черновик.
- API берёт credentials нужного аккаунта.
- Письмо отправляется через SMTP Mox.
- Сформированное письмо добавляется в IMAP-папку Sent.
- Запись об отправленном письме сохраняется в PostgreSQL.
- Временные вложения после отправки очищаются.
Для пользователя это выглядит как обычная отправка из webmail, но под капотом TelePost синхронизирует состояние между Mox и своей базой.
Черновики и запланированная отправка
Черновики хранятся в PostgreSQL: у них есть получатели, тема, body, вложения, статус и поле scheduled_at. Благодаря этому можно поддерживать автосохранение и отдельную виртуальную папку для запланированных писем.
Запланированная отправка работает через статус scheduled: воркер забирает due-черновики и отправляет их тем же механизмом, что и обычные письма.
Зачем это полезно
Главная польза Mini App в том, что почта становится ближе к месту, где пользователь уже получает уведомления. Можно открыть письмо из Telegram, быстро ответить, проверить папку, найти контакт или дописать черновик без перехода в отдельное приложение.
В связке с ботом это даёт цельный сценарий: бот подключает ящик и присылает уведомления, а Mini App даёт рабочий интерфейс для чтения и отправки писем. О выдаче ящиков через бота подробнее написано в статье Telegram-бот и invite-коды.