Почта и temp-mail

Roxera Mail: приём входящих по IMAP IDLE, отправка через SMTP, хранение писем в SQLite, вложения и raw-письма — в облачном хранилище. Веб-клиент доступен на https://mail.roxera.net, админка — на https://mail.roxera.net/admin/.

Домены

Домен Назначение
mail.roxera.net основные ящики и catch-all на hello@
m.roxera.net короткие и служебные адреса, catch-all на admin@
roxera.net корневой домен, системные адреса, catch-all на hello@
temp-mail.roxera.net временная почта (catch-all на inbox@)
4242000.xyz дополнительный домен ящиков
0484848.xyz дополнительный домен ящиков

Ящики создаются в веб-клиенте или через API. Самостоятельно ящик можно создать только на mail.roxera.net, 4242000.xyz и 0484848.xyz; m.roxera.net, roxera.net и temp-mail.roxera.net — служебные и недоступны для обычных пользователей. Каждый ящик — отдельная учётная запись на почтовом сервере; пароль генерируется случайно и хранится зашифрованным.

Лимиты

Параметр Free Premium
Почтовые ящики 1 3
Хранилище 1 ГБ 10 ГБ
Вложение 10 МБ 50 МБ
Отправка 10 писем/день 100 писем/день
Временная почта 15 минут · 1 адрес 24 часа · 5 адресов
Свой домен нет 1
Алиасы 3 25

Лимиты приходят из @roxera/shared и проверяются на сервере. Клиент не может обойти их, даже если изменить JavaScript.

Свой домен (Premium)

На Premium можно подключить один собственный домен и заводить ящики на нём. Откройте Настройки → Домены и привяжите домен одним из способов:

SPF-запись должна быть одна: существующую SPF мы сохраним и дополним. В Cloudflare записи DKIM и DMARC — «DNS only» (серая туча). Как только MX, SPF, DKIM и DMARC пройдут проверку, домен станет активным и появится в списке при создании ящика. Отключить домен можно, только удалив все ящики на нём.

Внешние IMAP/SMTP-клиенты

Протокол Сервер Порт Шифрование
IMAP imap.roxera.net 993 SSL/TLS
SMTP smtp.roxera.net 465 SSL/TLS

App password можно отозвать: при удалении ящика или пересоздании credentials старый пароль перестаёт работать. Для повторной выдачи откройте настройки снова.

Apple Mail / iOS

  1. Выберите «Другая почтовая учётная запись».
  2. Введите адрес и app password.
  3. IMAP: imap.roxera.net:993, SMTP: smtp.roxera.net:465.

Thunderbird

  1. Настройки учётной записи → Добавить.
  2. Введите имя, адрес и app password.
  3. Проверьте, что протокол — IMAP, порт 993, SSL/TLS.
  4. Для SMTP укажите smtp.roxera.net, порт 465, SSL/TLS.

Outlook

Outlook для Windows поддерживает IMAP с SMTP AUTH. Укажите imap.roxera.net:993 и smtp.roxera.net:465, включите SSL/TLS и используйте полный адрес как логин.

Пароль Roxera ID для внешних клиентов не используется. Если ввести его, сервер ответит ошибкой аутентификации — это защита от компрометации основного аккаунта.

Временная почта

Temp-mail — это catch-all на temp-mail.roxera.net. Адрес создаётся через API, живёт от 5 минут до 7 дней (в пределах лимита тарифа), письма приходят в общий ящик inbox@temp-mail.roxera.net и раскладываются по токену адреса.

Создать адрес

POST https://mail.roxera.net/api/v1/temp/address
Content-Type: application/json

{ "ttlMinutes": 60 }
{
  "address": "a1b2c3d4@temp-mail.roxera.net",
  "token": "tmp_...",
  "expiresAt": "2026-11-12T12:00:00.000Z",
  "ttlMinutes": 60
}

Без cookie создаётся анонимный адрес с лимитом Free и привязкой к IP. С cookie Roxera ID действуют лимиты аккаунта, адрес виден в веб-клиенте.

Получить письма

GET https://mail.roxera.net/api/v1/temp/:token
GET https://mail.roxera.net/api/v1/temp/:token/messages/:id
GET https://mail.roxera.net/api/v1/temp/:token/attachments/:id

Первый endpoint возвращает адрес, срок жизни и последние 100 писем. Второй — текст, HTML и список вложений. Токен — секрет: не публикуйте его. Вложения отдаются через API после проверки, что они принадлежат этому temp-адресу.

Удалить адрес

DELETE https://mail.roxera.net/api/v1/temp/:token

После удаления письма и вложения очищаются, токен перестаёт работать.

Хранение и вложения

Письма индексируются в SQLite (FTS5) для поиска. Полные raw-письма и вложения загружаются в защищённое облачное хранилище. Локально остаётся только кэш, поэтому диск сервера не растёт вместе с почтой.

Скачивание вложения:

GET /api/v1/mail/attachments/:id

API проверяет, что вложение принадлежит ящику текущего пользователя, и отдаёт файл из защищённого хранилища. Временные ссылки наружу не выдаются.

API ящиков

GET    /api/v1/mail/domains
GET    /api/v1/mail/mailboxes
POST   /api/v1/mail/mailboxes
DELETE /api/v1/mail/mailboxes/:id
GET    /api/v1/mail/mailboxes/:id/password

Пример создания ящика:

await fetch('https://mail.roxera.net/api/v1/mail/mailboxes', {
  method: 'POST',
  credentials: 'include',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({
    address: 'support@mail.roxera.net',
    displayName: 'Roxera Support',
  }),
});

GET /api/v1/mail/mailboxes/:id/password возвращает app password и параметры подключения:

{
  "password": "...",
  "username": "hello@mail.roxera.net",
  "imap": { "host": "imap.roxera.net", "port": 993, "security": "SSL/TLS" },
  "smtp": { "host": "smtp.roxera.net", "port": 465, "security": "SSL/TLS" }
}

Endpoint доступен только владельцу ящика. Администратор может выдать пароль через админку — это отдельное действие с записью в аудите и указанием причины.

Поиск

GET /api/v1/mail/threads?q=invoice&mailboxId=mbx_...&folder=all

Поиск использует FTS5 по теме, тексту, отправителю и получателям. Без q endpoint возвращает список тредов выбранной папки. Для точного совпадения адреса используйте from:, to: и subject::

subject:"Счёт" from:billing

Уведомления

При включённом флаге «Новые письма» в Telegram приходит краткое уведомление: отправитель и тема. Тело письма и вложения в Telegram не передаются. Настройка — в личном кабинете или в веб-клиенте (Настройки → Telegram).

Частые проблемы

Симптом Решение
authentication failed в клиенте Используйте app password, а не пароль Roxera ID
Письма не приходят Проверьте sync state ящика; воркер переподключает IMAP IDLE автоматически
Вложение не скачивается Проверьте права на ящик и доступность хранилища
Temp-адрес не принимает почту Catch-all применяется с задержкой до 30 секунд
Домен не добавляется Сначала подтвердите MX/SPF/DKIM/DMARC у регистратора