Ваша почта.
В вашем приложении.
Получайте письма, ищите сообщения по отправителю и теме, фильтруйте непрочитанные письма и управляйте доступом к конкретным почтовым ящикам через простой HTTP API.
https://litemail.one/api/v1
Проверить API
Вставьте токен и выполните запрос прямо здесь. Консоль выполняет только чтение; токен остаётся в памяти этой страницы и передаётся серверу LiteMail в заголовке Authorization.
Быстрый старт
LiteMail API использует Bearer Token авторизацию. Токен передаётся в HTTP-заголовке Authorization.
curl "https://litemail.one/api/v1/mailboxes/test123@litemail.one/messages/latest" \
-H "Authorization: Bearer lm_YOUR_API_TOKEN"
Авторизация
API поддерживает два типа токенов. Они предназначены для разных сценариев использования.
lm_...
Доступ к API пользователя и его собственным почтовым ящикам.
mt_...
Доступ только к одному конкретному mailbox.
Заголовок запроса
Authorization: Bearer YOUR_TOKEN
LM API — пользовательский токен
Токен lm_... принадлежит аккаунту LiteMail. Он позволяет обращаться к почтовым ящикам этого пользователя.
Возвращает информацию о пользователе и количество его почтовых ящиков.
curl "https://litemail.one/api/v1/me" \
-H "Authorization: Bearer lm_YOUR_API_TOKEN"
{
"id": 123,
"username": "testuser",
"balance": 250.0,
"mailbox_count": 5
}
Возвращает список почтовых ящиков, принадлежащих пользователю.
curl "https://litemail.one/api/v1/mailboxes" \
-H "Authorization: Bearer lm_YOUR_API_TOKEN"
Получает информацию о конкретном почтовом ящике по его email.
curl "https://litemail.one/api/v1/mailboxes/test123@litemail.one" \
-H "Authorization: Bearer lm_YOUR_API_TOKEN"
MT API — конкретная почта
Токен mt_... привязан к одному почтовому ящику. При его использовании указывать email почты уже не требуется: mailbox определяется сервером из самого токена.
Показывает, к какой почте относится mt-токен.
curl "https://litemail.one/api/v1/mail/me" \
-H "Authorization: Bearer mt_YOUR_TOKEN"
Возвращает последнее письмо конкретного mailbox.
curl "https://litemail.one/api/v1/mail/messages/latest" \
-H "Authorization: Bearer mt_YOUR_TOKEN"
Возвращает список сообщений конкретного mailbox.
curl "https://litemail.one/api/v1/mail/messages?limit=10" \
-H "Authorization: Bearer mt_YOUR_TOKEN"
Возвращает полное содержимое конкретного письма.
Получение писем
Для пользовательского lm_-токена используется email почтового ящика непосредственно в URL.
Получает самое последнее письмо.
curl "https://litemail.one/api/v1/mailboxes/test123@litemail.one/messages/latest" \
-H "Authorization: Bearer lm_YOUR_API_TOKEN"
Только последнее непрочитанное
curl "https://litemail.one/api/v1/mailboxes/test123@litemail.one/messages/latest?unread=true" \
-H "Authorization: Bearer lm_YOUR_API_TOKEN"
Возвращает список писем с поддержкой фильтров и пагинации.
curl "https://litemail.one/api/v1/mailboxes/15/messages?limit=10&offset=0" \
-H "Authorization: Bearer lm_YOUR_API_TOKEN"
Фильтры
Endpoint списка сообщений поддерживает несколько фильтров. Их можно комбинировать.
| Параметр | Тип | Описание | Пример |
|---|---|---|---|
sender |
string | Поиск по отправителю. | sender=discord |
recipient |
string | Поиск по получателю. | recipient=test123@litemail.one |
subject |
string | Поиск по теме письма. | subject=verification |
search |
string | Полнотекстовый поиск. | search=123456 |
unread |
boolean | true — непрочитанные, false — прочитанные; без параметра — все. | unread=true |
limit |
integer | Количество сообщений в ответе. Максимум 100. | limit=10 |
offset |
integer | Смещение для пагинации. | offset=20 |
Пример: найти письма от Discord
curl "https://litemail.one/api/v1/mailboxes/test123@litemail.one/messages?sender=discord" \
-H "Authorization: Bearer lm_YOUR_API_TOKEN"
Пример: Discord + verification + unread
curl "https://litemail.one/api/v1/mailboxes/test123@litemail.one/messages?sender=discord&subject=verification&unread=true&limit=10" \
-H "Authorization: Bearer lm_YOUR_API_TOKEN"
sender=discord&unread=true
ищет непрочитанные письма от Discord.
Read / Unread
Помечает сообщение прочитанным.
curl -X POST \
"https://litemail.one/api/v1/mailboxes/15/messages/482/read" \
-H "Authorization: Bearer lm_YOUR_API_TOKEN"
Возвращает сообщению статус непрочитанного.
curl -X POST \
"https://litemail.one/api/v1/mailboxes/15/messages/482/unread" \
-H "Authorization: Bearer lm_YOUR_API_TOKEN"
Удаление письма
Удаляет конкретное сообщение.
curl -X DELETE \
"https://litemail.one/api/v1/mailboxes/15/messages/482" \
-H "Authorization: Bearer lm_YOUR_API_TOKEN"
Отправка писем
Отправитель определяется сервером из выбранного mailbox. Поле From нельзя подменить через API.
Отправляет письмо через SMTP submission.
JSON body
{
"to": [
"example@gmail.com"
],
"subject": "Тестовое письмо",
"text": "Привет! Это письмо отправлено через LiteMail API.",
"html": "<p>Привет!</p>"
}
cURL
curl -X POST \
"https://litemail.one/api/v1/mailboxes/15/send" \
-H "Authorization: Bearer lm_YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"to": ["example@gmail.com"],
"subject": "Тестовое письмо",
"text": "Привет из LiteMail API"
}'
Поддерживаются
| Поле | Тип | Обязательно |
|---|---|---|
to |
array[string] | Да |
cc |
array[string] | Нет |
bcc |
array[string] | Нет |
subject |
string | Да |
text |
string | Нет* |
html |
string | Нет* |
reply_to |
string | Нет |
Смена пароля mailbox
Меняет пароль конкретного почтового ящика.
curl -X POST \
"https://litemail.one/api/v1/mailboxes/15/password" \
-H "Authorization: Bearer lm_YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"new_password": "NewPassword123!"
}'
MT-токены
Владелец аккаунта может выпустить отдельный токен для конкретной почты. Старый активный mt-токен этого mailbox при этом отзывается.
Создаёт новый mt-токен для почтового ящика. Требует lm-токен владельца.
curl -X POST \
"https://litemail.one/api/v1/mailboxes/test123@litemail.one/token" \
-H "Authorization: Bearer lm_YOUR_API_TOKEN"
{
"status": "ok",
"mailbox_id": 15,
"email": "test123@litemail.one",
"token": "mt_xxxxxxxxxxxxxxxxxxxxxxxxx",
"token_type": "Bearer"
}
Отзывает активный mt-токен mailbox.
curl -X DELETE \
"https://litemail.one/api/v1/mailboxes/test123@litemail.one/token" \
-H "Authorization: Bearer lm_YOUR_API_TOKEN"
Лимиты и защита
LiteMail API имеет встроенную защиту от большого количества запросов и перебора токенов.
| Ограничение | Значение |
|---|---|
| Общий лимит на IP | 120 req/min |
| Общий лимит на токен | 60 req/min |
| Mailbox + IP | 100 req/min |
/messages |
30 req/min |
/messages/latest |
60 req/min |
| Один IP одновременно | 10 requests |
| Один token одновременно | 3 requests |
Максимальный limit |
100 |
| Максимальный request body | 2 MB |
HTTP 429
Если лимит превышен, API возвращает 429 Too Many Requests и заголовок Retry-After.
{
"code": "RATE_LIMITED",
"message": "Слишком много запросов",
"retry_after": 12
}
Защита от перебора
Серия неверных API-токенов с одного IP приводит к временной блокировке этого IP. Это относится как к lm_, так и к mt_ авторизации.
Ошибки API
Ошибки обработанных маршрутов возвращают code и message; поле detail сохранено для совместимости. HTTP 422 означает ошибку полей запроса. X-Request-ID можно передать поддержке, Server-Timing показывает время обработки приложения. Для 429 соблюдайте Retry-After; POST/DELETE автоматически не повторяйте.
| HTTP | Code | Описание |
|---|---|---|
| 401 | UNAUTHORIZED |
Не передан токен. |
| 401 | INVALID_TOKEN |
Токен неправильный, отозван или истёк. |
| 404 | MAILBOX_NOT_FOUND |
Mailbox не найден или недоступен текущему владельцу. |
| 404 | MESSAGE_NOT_FOUND |
Письмо не найдено. |
| 410 | MAILBOX_EXPIRED |
Срок действия почты закончился. |
| 413 | REQUEST_TOO_LARGE |
Размер запроса превышает лимит. |
| 429 | RATE_LIMITED |
Превышен rate limit. |
| 503 | IMAP_UNAVAILABLE |
Почтовый сервер временно недоступен. |
| 503 | SMTP_SEND_FAILED |
Не удалось отправить письмо. |
Пример обработки ошибки
{
"detail": {
"code": "INVALID_TOKEN",
"message": "Неверный API-токен"
}
}
Пример на Python
Простейший вариант получения последнего письма по email:
import requests
API = "https://litemail.one/api/v1"
TOKEN = "lm_YOUR_API_TOKEN"
EMAIL = "test123@litemail.one"
response = requests.get(
f"{API}/mailboxes/{EMAIL}/messages/latest",
headers={
"Authorization": f"Bearer {TOKEN}"
},
timeout=20
)
response.raise_for_status()
data = response.json()
message = data.get("message")
if message:
print("От:", message["from"])
print("Тема:", message["subject"])
print("Дата:", message["date"])
print("Текст:")
print(message["text"])
else:
print("Писем нет")
Поиск по критериям
import requests
API = "https://litemail.one/api/v1"
TOKEN = "lm_YOUR_API_TOKEN"
EMAIL = "test123@litemail.one"
response = requests.get(
f"{API}/mailboxes/{EMAIL}/messages",
headers={
"Authorization": f"Bearer {TOKEN}"
},
params={
"sender": "discord",
"subject": "verification",
"unread": True,
"limit": 10
},
timeout=20
)
response.raise_for_status()
data = response.json()
for message in data["messages"]:
print(
message["date"],
message["from"],
message["subject"]
)
Безопасность
mt-токены хранятся в базе в виде SHA-256 хеша. Сам секрет выдаётся только в момент создания.
mt-токен связан с одним mailbox и не предоставляет доступ к другим почтам.
Используйте только HTTPS endpoint LiteMail. Не передавайте токены по обычному HTTP.
Для API-запросов пароль почтового ящика не требуется. Используется Bearer Token.
Нужна помощь с интеграцией?
Опишите запрос и ошибку в поддержке. Не отправляйте действующие токены.