TempMail

Документация API

Справочник TempMail API v1

Базовый URL

https://mail.taohuaxin.top

Аутентификация

Все эндпоинты, кроме /config, требуют аутентификации.

Добавьте следующий заголовок ко всем запросам:

x-api-key: tm_your_token_here

Получите токен в: Панель → Настройки → Ключи API

Эндпоинты

МетодПутьОписание
GET/api/v1/configКонфигурация сервера (публичная — аутентификация не требуется)
GET/api/v1/meПолучить письма из всех почтовых ящиков (длинный опрос)
GET/api/v1/inbox/:addressПолучить письма для одного почтового ящика (длинный опрос)
DELETE/api/v1/inbox/:addressОчистить все письма в почтовом ящике
GET/api/v1/email/:idПолучить полное разобранное письмо (текст + html + вложения)
GET/api/v1/email/:id/renderedПолучить отрендеренный текст письма
GET/api/v1/email/:id/attachments/:attachmentIdСкачать одно вложение по ID
DELETE/api/v1/email/:idУдалить одно письмо
GET/api/v1/domainsСписок ваших пользовательских доменов
POST/api/v1/domainsДобавить пользовательский домен
DELETE/api/v1/domains/:idУдалить пользовательский домен

docs.examples

GET/api/v1/config

Конфигурация сервера (публичная — аутентификация не требуется)

curl https://mail.taohuaxin.top/api/v1/config

docs.response

{
  "domains": ["taohuaxin.top"],
  "smtpPort": 25,
  "smtpsPort": 465,
  "mxPort": 25,
  "version": "1.0.0"
}
GET/api/v1/me

Получить письма из всех почтовых ящиков (длинный опрос)

curl -H "x-api-key: tm_your_token_here" \
  "https://mail.taohuaxin.top/api/v1/me?count=1&limit=20"

docs.response

{
  "emails": [
    {
      "id": "cmcg2a1b40001xyz",
      "fromAddress": "[email protected]",
      "subject": "Your verification code",
      "isRead": false,
      "receivedAt": "2026-07-10T08:30:00.000Z",
      "mailbox": { "address": "alice", "domain": "taohuaxin.top" }
    }
  ],
  "nextSince": "cmcg2a1b40001xyz"
}
GET/api/v1/inbox/:address

Получить письма для одного почтового ящика (длинный опрос)

curl -H "x-api-key: tm_your_token_here" \
  "https://mail.taohuaxin.top/api/v1/inbox/[email protected]?since=cmcg2a1b40001xyz&count=1"

docs.response

{
  "emails": [
    {
      "id": "cmcg9f2c80002abc",
      "fromAddress": "[email protected]",
      "subject": "Welcome!",
      "isRead": false,
      "receivedAt": "2026-07-10T09:00:00.000Z"
    }
  ],
  "nextSince": "cmcg9f2c80002abc"
}
DELETE/api/v1/inbox/:address

Очистить все письма в почтовом ящике

curl -X DELETE -H "x-api-key: tm_your_token_here" \
  "https://mail.taohuaxin.top/api/v1/inbox/[email protected]"

docs.response

{ "success": true }
GET/api/v1/email/:id

Получить полное разобранное письмо (текст + html + вложения)

curl -H "x-api-key: tm_your_token_here" \
  "https://mail.taohuaxin.top/api/v1/email/cmcg2a1b40001xyz"

docs.response

{
  "id": "cmcg2a1b40001xyz",
  "fromAddress": "[email protected]",
  "toAddress": "[email protected]",
  "subject": "Your verification code",
  "bodyHtml": "<p>Your code is <b>123456</b></p>",
  "bodyText": "Your code is 123456",
  "isRead": true,
  "receivedAt": "2026-07-10T08:30:00.000Z",
  "attachments": [
    { "id": "att_01", "filename": "invoice.pdf", "mimeType": "application/pdf", "size": 24580 }
  ]
}
GET/api/v1/email/:id/rendered

Получить отрендеренный текст письма

curl -H "x-api-key: tm_your_token_here" \
  "https://mail.taohuaxin.top/api/v1/email/cmcg2a1b40001xyz/rendered"

docs.response

From: [email protected]
To: [email protected]
Subject: Your verification code
Date: Fri, 10 Jul 2026 08:30:00 GMT

<p>Your code is <b>123456</b></p>
GET/api/v1/email/:id/attachments/:attachmentId

Скачать одно вложение по ID

curl -OJ -H "x-api-key: tm_your_token_here" \
  "https://mail.taohuaxin.top/api/v1/email/cmcg2a1b40001xyz/attachments/att_01"

docs.response

HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Disposition: attachment; filename="invoice.pdf"
Content-Length: 24580

<binary file stream>
DELETE/api/v1/email/:id

Удалить одно письмо

curl -X DELETE -H "x-api-key: tm_your_token_here" \
  "https://mail.taohuaxin.top/api/v1/email/cmcg2a1b40001xyz"

docs.response

{ "success": true }
GET/api/v1/domains

Список ваших пользовательских доменов

curl -H "x-api-key: tm_your_token_here" \
  "https://mail.taohuaxin.top/api/v1/domains"

docs.response

[
  {
    "id": "dom_01",
    "domain": "mail.example.com",
    "verified": true,
    "receiveMode": "inherit",
    "createdAt": "2026-07-01T00:00:00.000Z"
  }
]
POST/api/v1/domains

Добавить пользовательский домен

curl -X POST -H "x-api-key: tm_your_token_here" \
  -H "Content-Type: application/json" \
  -d '{"domain":"mail.example.com","receiveMode":"inherit"}' \
  "https://mail.taohuaxin.top/api/v1/domains"

docs.response

{
  "id": "dom_02",
  "domain": "mail.example.com",
  "verified": false,
  "receiveMode": "inherit",
  "createdAt": "2026-07-10T10:00:00.000Z"
}
DELETE/api/v1/domains/:id

Удалить пользовательский домен

curl -X DELETE -H "x-api-key: tm_your_token_here" \
  "https://mail.taohuaxin.top/api/v1/domains/dom_02"

docs.response

{ "success": true }

Длинный опрос

Эндпоинты почтовых ящиков поддерживают длинный опрос. Вызовите один раз, и сервер будет ждать до поступления письма (до 25 с). Возвращает 204, если письмо не поступило до тайм-аута.

Параметры запроса

ПараметрОписание
sinceКурсор из предыдущего ответа; возвращаются только письма после этого момента
countВернуть после поступления N новых писем (по умолчанию 1, макс. 50)
limitМаксимум писем в теле ответа (по умолчанию 20, макс. 50)
fromФильтр — возвращать только письма, у которых От содержит эту подстроку
subjectФильтр — возвращать только письма, у которых Тема содержит эту подстроку

Поведение при удалении

Все операции DELETE — это мягкое удаление: удалённые элементы скрыты от пользователей, но остаются доступными администраторам для целей аудита.