Документация почтового API: SMTP и IMAP.
Подключите свой SMTP- и IMAP-ящик к API-ключу аккаунта и API-ключу ящика. Используйте оба в HTTP-запросах для отправки, чтения и управления выбранным ящиком.
https://api.mailbridgeapi.comСледите за изменениями API и продукта.
Проверяйте опубликованные обновления endpoints, документации и платформы перед изменением интеграции.
Открыть журнал измененийСтроите с помощью ИИ-помощника?
Используйте нашу базу знаний с возможностью поиска, полнотекстовый справочник и API, доступный только для чтения, чтобы предоставить своему помощнику документацию с исходным кодом MailBridgeAPI.
Изучите базу знанийВаш первый запрос в три шага
Начните с чтения вашего почтового ящика. Как только вы увидите успешный ответ, вы можете попробовать отправить сообщение.
Подключите свои ключи
Вставьте ключ API своей учетной записи и ключ для одного настроенного почтового ящика. Нажмите «Подключиться».
Получите свой почтовый ящик
Откройте «Получить электронную почту», сохраните INBOX и начните с 0, затем нажмите «Получить электронную почту».
Прочитайте результат
HTTP 200 означает, что сервер ответил. result.error = «0» указывает на успех; электронные письма находятся внутри result.emaillist.
Попробуйте API со своим почтовым ящиком
Подключите ключ своей учетной записи, выберите почтовый ящик, затем выполните запрос ниже. Эти запросы используют действующую службу MailBridgeAPI.
Ключи остаются в памяти этой страницы и очищаются при отключении или перезагрузке. Запросы проходят через сервер этого веб-сайта на адрес MailBridgeAPI.
БОЛЬШЕ, ЧЕМ ОТПРАВКА И ПОЛУЧЕНИЕ
Профессиональные endpoints для управления почтой.
Проверяйте настройки и активность, находите письма, стройте отчёты и проверяйте отправку до SMTP. Все endpoints используют те же ключи.
Используйте headers в новых интеграциях
Передавайте ключ аккаунта в X-API-Key, а ключ ящика в X-Mailbox-Key. apikey и apikeybox сохранены для совместимости. Храните ключи на сервере.
X-API-KeyX-Mailbox-Key/mailbox/status/Статус ящика
Проверка SMTP, IMAP и функций без раскрытия учётных данных.
Для настройки, мониторинга и поддержки.
Пример запроса+
<?php
$params = [
];
$query = http_build_query($params);
$url = 'https://api.mailbridgeapi.com/mailbox/status/' . ($query === '' ? '' : '?' . $query);
$headers = [
'X-API-Key: ' . getenv('MAILBRIDGE_API_KEY'),
'X-Mailbox-Key: ' . getenv('MAILBRIDGE_BOX_KEY'),
];
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
$message = curl_error($ch);
curl_close($ch);
throw new RuntimeException($message);
}
curl_close($ch);
$data = json_decode($response, true, 512, JSON_THROW_ON_ERROR);
print_r($data);Проверить с подключёнными ключамиLIVE
Запустите endpoint для просмотра ответа.
/email/sent/История отправки
Постраничный журнал с фильтрами по статусу, получателю, дате и источнику.
Для панелей доставки и ошибок SMTP.
pageper_pagestatusrecipientfromtosourceinclude_bodyПример запроса+
<?php
$params = [
'page' => '1',
'per_page' => '5',
'status' => 'all',
];
$query = http_build_query($params);
$url = 'https://api.mailbridgeapi.com/email/sent/' . ($query === '' ? '' : '?' . $query);
$headers = [
'X-API-Key: ' . getenv('MAILBRIDGE_API_KEY'),
'X-Mailbox-Key: ' . getenv('MAILBRIDGE_BOX_KEY'),
];
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
$message = curl_error($ch);
curl_close($ch);
throw new RuntimeException($message);
}
curl_close($ch);
$data = json_decode($response, true, 512, JSON_THROW_ON_ERROR);
print_r($data);Проверить с подключёнными ключамиLIVE
Запустите endpoint для просмотра ответа.
/email/received/История получения
Сохранённые письма с пагинацией и фильтрами.
Для поддержки, CRM и очередей.
pageper_pagesenderfromtoinclude_bodyПример запроса+
<?php
$params = [
'page' => '1',
'per_page' => '5',
];
$query = http_build_query($params);
$url = 'https://api.mailbridgeapi.com/email/received/' . ($query === '' ? '' : '?' . $query);
$headers = [
'X-API-Key: ' . getenv('MAILBRIDGE_API_KEY'),
'X-Mailbox-Key: ' . getenv('MAILBRIDGE_BOX_KEY'),
];
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
$message = curl_error($ch);
curl_close($ch);
throw new RuntimeException($message);
}
curl_close($ch);
$data = json_decode($response, true, 512, JSON_THROW_ON_ERROR);
print_r($data);Проверить с подключёнными ключамиLIVE
Запустите endpoint для просмотра ответа.
/email/message/Детали письма
Получение отправленного или входящего письма по id MailBridgeAPI.
Загружайте полный текст только при открытии.
directionidПример запроса+
<?php
$params = [
'direction' => 'sent',
'id' => '',
];
$query = http_build_query($params);
$url = 'https://api.mailbridgeapi.com/email/message/' . ($query === '' ? '' : '?' . $query);
$headers = [
'X-API-Key: ' . getenv('MAILBRIDGE_API_KEY'),
'X-Mailbox-Key: ' . getenv('MAILBRIDGE_BOX_KEY'),
];
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
$message = curl_error($ch);
curl_close($ch);
throw new RuntimeException($message);
}
curl_close($ch);
$data = json_decode($response, true, 512, JSON_THROW_ON_ERROR);
print_r($data);Проверить с подключёнными ключамиLIVE
Запустите endpoint для просмотра ответа.
/email/activity/Активность ящика
Итоги и ежедневный ряд за 1–90 дней.
Для графиков и отчётов.
daysПример запроса+
<?php
$params = [
'days' => '30',
];
$query = http_build_query($params);
$url = 'https://api.mailbridgeapi.com/email/activity/' . ($query === '' ? '' : '?' . $query);
$headers = [
'X-API-Key: ' . getenv('MAILBRIDGE_API_KEY'),
'X-Mailbox-Key: ' . getenv('MAILBRIDGE_BOX_KEY'),
];
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
$message = curl_error($ch);
curl_close($ch);
throw new RuntimeException($message);
}
curl_close($ch);
$data = json_decode($response, true, 512, JSON_THROW_ON_ERROR);
print_r($data);Проверить с подключёнными ключамиLIVE
Запустите endpoint для просмотра ответа.
/email/validate/Проверка перед отправкой
Проверка получателя, темы, текста, формата и SMTP без отправки.
Находите ошибки до /sendemail/.
recipient_emailmail_subjectmail_bodyformatПример запроса+
<?php
$payload = [
'recipient_email' => 'developer@example.com',
'mail_subject' => 'Preflight validation',
'mail_body' => 'This payload is validated without sending an email.',
'format' => 'text',
];
$headers = [
'X-API-Key: ' . getenv('MAILBRIDGE_API_KEY'),
'X-Mailbox-Key: ' . getenv('MAILBRIDGE_BOX_KEY'),
];
$headers[] = 'Content-Type: application/json';
$ch = curl_init('https://api.mailbridgeapi.com/email/validate/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => json_encode($payload, JSON_THROW_ON_ERROR),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
$message = curl_error($ch);
curl_close($ch);
throw new RuntimeException($message);
}
curl_close($ch);
$data = json_decode($response, true, 512, JSON_THROW_ON_ERROR);
print_r($data);Проверить с подключёнными ключамиLIVE
Запустите endpoint для просмотра ответа.
/mailbox/insights/Показатели ящика
Надёжность отправки, входящий объём, активность и последняя ошибка в одном ответе.
Для мониторинга, оповещений и панелей.
daysПример запроса+
<?php
$params = [
'days' => '30',
];
$query = http_build_query($params);
$url = 'https://api.mailbridgeapi.com/mailbox/insights/' . ($query === '' ? '' : '?' . $query);
$headers = [
'X-API-Key: ' . getenv('MAILBRIDGE_API_KEY'),
'X-Mailbox-Key: ' . getenv('MAILBRIDGE_BOX_KEY'),
];
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
$message = curl_error($ch);
curl_close($ch);
throw new RuntimeException($message);
}
curl_close($ch);
$data = json_decode($response, true, 512, JSON_THROW_ON_ERROR);
print_r($data);Проверить с подключёнными ключамиLIVE
Запустите endpoint для просмотра ответа.
/email/search/Единый поиск писем
Поиск отправленных и входящих писем по id, теме или адресу без загрузки текста.
Быстро находите переписку в обоих направлениях.
querydirectionpageper_pagefromtoПример запроса+
<?php
$params = [
'query' => 'invoice',
'direction' => 'all',
'page' => '1',
'per_page' => '10',
];
$query = http_build_query($params);
$url = 'https://api.mailbridgeapi.com/email/search/' . ($query === '' ? '' : '?' . $query);
$headers = [
'X-API-Key: ' . getenv('MAILBRIDGE_API_KEY'),
'X-Mailbox-Key: ' . getenv('MAILBRIDGE_BOX_KEY'),
];
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
$message = curl_error($ch);
curl_close($ch);
throw new RuntimeException($message);
}
curl_close($ch);
$data = json_decode($response, true, 512, JSON_THROW_ON_ERROR);
print_r($data);Проверить с подключёнными ключамиLIVE
Запустите endpoint для просмотра ответа.
Выберите, что вы хотите сделать
Прочитайте до 30 электронных писем из папки IMAP.
Отправьте одно электронное письмо из подключенного почтового ящика.
Прочтите записи об отказе, чтобы обновить свой список контактов.
Два ключа. Две разные работы.
Используйте оба значения в каждом запросе. Пароль вашей электронной почты не используется в запросах API.
apikeyAPI-ключ аккаунта
Идентифицирует вашу учетную запись. Найдите его на панели управления MailBridgeAPI.
apikeyboxКлюч API почтового ящика
Выбор почтового ящика для отправки или чтения. Это значение apikeybox на вашей информационной панели.
Запросы требуют двух значений: apikey идентифицирует вашу учетную запись; apikeybox выбирает настроенный почтовый ящик. В примерах используются документированные параметры запроса. Храните ключи в переменных среды на стороне сервера.
Аутентификация — Необязательно
Для конечных точек GET параметры запроса могут отображаться в журналах. Опубликованная ссылка также описывает аутентификацию Bearer для ключа учетной записи; проверьте поддержку вашей интеграции, прежде чем принимать ее.
/getemail/Получить электронную почту
Чтение сообщений из выбранной папки IMAP. Результат содержит карту с ключом UID под номером result.emaillist. Каждая страница содержит до 30 сообщений; увеличьте начало на 30, чтобы получить следующую страницу.
Попробуйте эту конечную точкуLIVE
Подключите ключ API своей учетной записи, указанный выше, чтобы попробовать эту конечную точку.
Перейти к подключению APIЗапросить предварительный просмотр
{
"method": "GET",
"url": "https://api.mailbridgeapi.com/getemail/",
"parameters": {
"apikey": "YOUR_CONNECTED_API_KEY",
"apikeybox": "YOUR_SELECTED_MAILBOX_KEY",
"mbox": "INBOX",
"start": "0"
}
}Ваш ответ появится здесь после выполнения запроса.
Начните с этих параметров
| Параметр | Требуется | Описание |
|---|---|---|
apikey | Требуется | Ключ API аккаунта. |
apikeybox | Требуется | Ключ API подключенного почтового ящика IMAP. |
mbox | Требуется | Имя папки IMAP, например INBOX, «Отправленные» или «Черновики». |
Все необязательные параметры+
Добавляйте их только тогда, когда вам нужна соответствующая функция.
| Параметр | Требуется | Описание |
|---|---|---|
start | Необязательно | Индекс с нулевым отсчетом; по умолчанию — 0. До 30 сообщений на странице. |
Пример запроса
<?php
$query = http_build_query([
'apikey' => getenv('MAILBRIDGE_API_KEY'),
'apikeybox' => getenv('MAILBRIDGE_BOX_KEY'),
'mbox' => 'INBOX',
'start' => '0'
]);
$ch = curl_init('https://api.mailbridgeapi.com/getemail/?' . $query);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
$message = curl_error($ch);
curl_close($ch);
throw new RuntimeException($message);
}
curl_close($ch);
$data = json_decode($response, true, 512, JSON_THROW_ON_ERROR);
print_r($data);Как прочитать этот ответ
Сообщения сгруппированы по IMAP UID под result.emaillist. Тема (объект) и тело могут быть закодированы в URL. Раскодируйте эти поля, прежде чем отображать их в виде текста.
Пустой список адресов электронной почты может быть действительным успешным ответом. Проверьте выбранную папку и запустите index.
Пример ответа+
{
"result": {
"error": "0",
"emaillist": {
"50123": {
"id": 50123,
"object": "Hello%20there",
"body": "%3Cp%3EHello%3C%2Fp%3E",
"email1": "jane@example.com",
"email2": "hello@yourcompany.com",
"timestamp": 1736505600,
"date": "10/01/2025 - 09:20:00",
"size": 42,
"attachment": null,
"loop": 0
}
}
}
}/sendemail/Отправить электронное письмо
Отправьте электронное письмо через SMTP-соединение выбранного почтового ящика. Поддерживает HTML, текст, получателей CC, вложения, встроенные изображения и дополнительный нижний колонтитул для отказа от подписки.
Необязательное архивирование в папке «Отправленные»
Включите копии отправленных сообщений для почтового ящика в панели управления, чтобы успешные отправки API архивировались отдельной фоновой задачей IMAP. Отправка SMTP остаётся независимой: проблема IMAP никогда не превращает принятую отправку в ошибку API. Добавьте skip_sent_copy=1 к любому запросу, который нельзя архивировать.
Попробуйте эту конечную точкуLIVE
Подключите ключ API своей учетной записи, указанный выше, чтобы попробовать эту конечную точку.
Перейти к подключению APIЗапросить предварительный просмотр
{
"method": "POST",
"url": "https://api.mailbridgeapi.com/sendemail/",
"parameters": {
"apikey": "YOUR_CONNECTED_API_KEY",
"apikeybox": "YOUR_SELECTED_MAILBOX_KEY",
"mail_subject": "Привет от MailBridgeAPI",
"mail_body": "Это тестовое письмо, отправленное с моего подключенного почтового ящика.",
"format": "text"
}
}Ваш ответ появится здесь после выполнения запроса.
Начните с этих параметров
| Параметр | Требуется | Описание |
|---|---|---|
apikey | Требуется | Ключ API аккаунта. |
apikeybox | Требуется | API-ключ почтового ящика SMTP, который нужно использовать. |
recipient_email | Требуется | Адрес электронной почты основного получателя. |
mail_subject | Требуется | Тема письма. |
mail_body | Требуется | Тело сообщения в формате HTML или обычный текст. |
Все необязательные параметры+
Добавляйте их только тогда, когда вам нужна соответствующая функция.
| Параметр | Требуется | Описание |
|---|---|---|
sender_email | Необязательно | Переопределить адрес отправителя; по умолчанию используется отправитель почтового ящика SMTP. Ваш провайдер должен разрешить использование адреса. |
sender_name | Необязательно | Переопределить отображаемое имя отправителя. |
reply_email | Необязательно | Адрес для ответа; по умолчанию — sender_email. |
reply_name | Необязательно | Ответить — отображаемое имя. |
email_cc1, email_cc2, email_cc3 | Необязательно | До трех получателей CC. |
format | Необязательно | html (по умолчанию) или текст. |
charset | Необязательно | Набор символов сообщения; по умолчанию используется UTF-8. |
attachmentBase64_1, attachmentBase64_2 | Необязательно | Содержимое вложения закодировано как base64. |
attachmentBase64_name_1, attachmentBase64_name_2 | Необязательно | Имена файлов для соответствующих вложений. |
embeddedImage | Необязательно | URL общедоступного изображения для встраивания. |
embeddedImage_cid | Необязательно | Идентификатор контента, указанный в HTML с помощью cid:YOUR_CID. |
unsubscribe | Необязательно | Установите значение 1, чтобы добавить настроенный нижний колонтитул отказа от подписки; по умолчанию 0. |
from_source | Необязательно | Дополнительная метка источника для отправки. |
skip_sent_copy | Необязательно | Установите значение 1, чтобы это сообщение не копировалось в настроенную папку IMAP «Отправленные», даже если архивирование включено. |
allow_self_signed | Необязательно | Установите значение «да», чтобы разрешить самозаверяющие сертификаты TLS. Опустите для обычной проверки сертификата. |
Пример запроса
<?php
$payload = [
'apikey' => getenv('MAILBRIDGE_API_KEY'),
'apikeybox' => getenv('MAILBRIDGE_BOX_KEY'),
'recipient_email' => 'jane@example.com',
'mail_subject' => 'Hello, possibilities.',
'mail_body' => 'Your next idea starts here.',
'format' => 'text',
];
$ch = curl_init('https://api.mailbridgeapi.com/sendemail/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($payload),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
$message = curl_error($ch);
curl_close($ch);
throw new RuntimeException($message);
}
curl_close($ch);
$data = json_decode($response, true, 512, JSON_THROW_ON_ERROR);
// Check $data['result']['error'], not only the HTTP status.
print_r($data);Как прочитать этот ответ
Проверьте result.error = «0» и result.sent = «ОК». SMTP-сервер принял отправку; это не гарантирует доставку в почтовый ящик получателя.
Пример ответа+
{
"result": {
"error": "0",
"sent": "OK",
"id": "msg_example"
}
}/email/unsubscribed/Отписаться от записей
Получите до 500 записей отправки, связанных с отменой подписки, для почтового ящика под номером result.customer. При необходимости фильтруйте по электронной почте получателя. Параметр start зарезервирован и может быть проигнорирован.
Попробуйте эту конечную точкуLIVE
Подключите ключ API своей учетной записи, указанный выше, чтобы попробовать эту конечную точку.
Перейти к подключению APIЗапросить предварительный просмотр
{
"method": "GET",
"url": "https://api.mailbridgeapi.com/email/unsubscribed/",
"parameters": {
"apikey": "YOUR_CONNECTED_API_KEY",
"apikeybox": "YOUR_SELECTED_MAILBOX_KEY"
}
}Ваш ответ появится здесь после выполнения запроса.
Начните с этих параметров
| Параметр | Требуется | Описание |
|---|---|---|
apikey | Требуется | Ключ API аккаунта. |
apikeybox | Требуется | API-ключ почтового ящика SMTP. |
Все необязательные параметры+
Добавляйте их только тогда, когда вам нужна соответствующая функция.
| Параметр | Требуется | Описание |
|---|---|---|
email | Необязательно | Фильтрация записей по адресу электронной почты получателя. |
start | Необязательно | Зарезервированный индекс; может быть проигнорировано текущей реализацией. |
Пример запроса
<?php
$query = http_build_query([
'apikey' => getenv('MAILBRIDGE_API_KEY'),
'apikeybox' => getenv('MAILBRIDGE_BOX_KEY'),
'email' => 'jane@example.com'
]);
$ch = curl_init('https://api.mailbridgeapi.com/email/unsubscribed/?' . $query);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
]);
$response = curl_exec($ch);
if ($response === false) {
$message = curl_error($ch);
curl_close($ch);
throw new RuntimeException($message);
}
curl_close($ch);
$data = json_decode($response, true, 512, JSON_THROW_ON_ERROR);
print_r($data);Как прочитать этот ответ
Записи ниже result.customer. Используйте адрес электронной почты получателя, чтобы обновить свой список. Эта конечная точка считывает записи об отказе; он не отписывает контакт сам.
Пример ответа+
{
"result": {
"error": "0",
"customer": [
{
"recipientEmail": "jane@example.com",
"subject": "Monthly update",
"unsubscribeaskedDate": "2025-01-11"
}
]
}
}Ответы и ошибки
200 | Запрос обработан. Проверьте result.error на наличие результата поставщика. |
400 | Обязательные параметры отсутствуют. |
401 | Неверный или просроченный ключ API или деактивированная учетная запись. |
500 | Сбой поставщика SMTP/IMAP или внутренняя ошибка. |
Если что-то пойдет не так
401 / неверный ключ+
Проверьте оба ключа, выбранный почтовый ящик и активный статус учетной записи.
Ошибка SMTP-соединения+
Проверьте хост SMTP, порт, аутентификацию и разрешения отправителя на панели управления.
Ошибка соединения IMAP+
Проверьте доступ к IMAP, учетные данные и точное имя папки.
Сообщения не возвращаются+
Попробуйте INBOX со стартом = 0. Возможно, папка пуста.
Таймаут после отправки+
Прежде чем повторить попытку, проверьте свою панель управления или папку «Отправленные». Возможно, отправка уже произошла.
Ограничения ставок
Опубликованные лимиты: отправка и отписка — 120 запросов/мин; Получение IMAP — 60 запросов/минуту. Также применяются собственные ограничения вашего провайдера. Обрабатывайте сбои и избегайте повторных отправок вслепую, что может привести к созданию дубликатов электронных писем.
Примеры кода являются примерами. Live-запросы выполняются только тогда, когда вы явно отправляете тест конечной точки.