Documentación de la API de correo: SMTP e IMAP.
Conecta tu propio buzón SMTP e IMAP a una clave API de cuenta y una clave API de buzón. Usa ambas en solicitudes HTTP para enviar, leer y gestionar el buzón seleccionado.
https://api.mailbridgeapi.comSigue los cambios de la API y del producto.
Consulta las actualizaciones publicadas de endpoints, documentación y plataforma antes de modificar una integración.
Abrir el registro de cambios¿Construir con un asistente de IA?
Utilice nuestra base de conocimientos con capacidad de búsqueda, referencia de texto completo y API de solo lectura para brindarle a su asistente documentación MailBridgeAPI respaldada en fuentes.
Explora la base de conocimientosTu primera petición, en tres pasos
Empiece por leer su bandeja de entrada. Una vez que vea una respuesta exitosa, puede intentar enviar un mensaje.
Conecta tus llaves
Pegue la clave API de su cuenta y la clave de un buzón configurado. Haga clic en Conectar.
Busca tu bandeja de entrada
Abra "Recuperar correos electrónicos", mantenga INBOX y comience 0, luego haga clic en Recuperar correos electrónicos.
leer el resultado
HTTP 200 significa que el servidor respondió. result.error = "0" indica éxito; Los correos electrónicos están dentro de result.emaillist.
Prueba la API con tu buzón
Conecte la clave de su cuenta, elija un buzón y luego ejecute una solicitud a continuación. Estas solicitudes utilizan el servicio live MailBridgeAPI.
Las claves permanecen en la memoria de esta página y se borran al desconectarlas o recargarlas. Las solicitudes pasan a través del servidor de este sitio web hasta MailBridgeAPI.
MUCHO MÁS QUE ENVIAR Y RECIBIR
Endpoints profesionales para gestionar tu buzón.
Comprueba la configuración, consulta la actividad, encuentra un mensaje, crea informes y valida un envío antes de SMTP. Todos los endpoints usan las mismas claves de cuenta y buzón.
Usa headers en las nuevas integraciones
Envía la clave de cuenta en X-API-Key y la del buzón en X-Mailbox-Key. apikey y apikeybox siguen disponibles por compatibilidad. Guarda ambas claves en tu servidor.
X-API-KeyX-Mailbox-Key/mailbox/status/Estado del buzón
Comprueba la configuración SMTP e IMAP y las funciones disponibles sin exponer credenciales.
Úsalo en configuración, monitorización y soporte.
Ejemplo de solicitud+
<?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);Probar con tus claves conectadasLIVE
Ejecuta el endpoint para ver la respuesta.
/email/sent/Historial de enviados
Obtén un registro paginado con filtros de estado, destinatario, fecha y origen.
Crea paneles de entrega e identifica errores SMTP.
pageper_pagestatusrecipientfromtosourceinclude_bodyEjemplo de solicitud+
<?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);Probar con tus claves conectadasLIVE
Ejecuta el endpoint para ver la respuesta.
/email/received/Historial de recibidos
Consulta mensajes guardados con paginación y filtros por remitente o fecha.
Alimenta soporte, CRM y colas de proceso.
pageper_pagesenderfromtoinclude_bodyEjemplo de solicitud+
<?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);Probar con tus claves conectadasLIVE
Ejecuta el endpoint para ver la respuesta.
/email/message/Detalle del mensaje
Obtén un mensaje enviado o recibido por su id de MailBridgeAPI.
Carga el contenido completo solo cuando se abre.
directionidEjemplo de solicitud+
<?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);Probar con tus claves conectadasLIVE
Ejecuta el endpoint para ver la respuesta.
/email/activity/Actividad del buzón
Obtén totales y una serie diaria de 1 a 90 días.
Crea gráficos, controles e informes.
daysEjemplo de solicitud+
<?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);Probar con tus claves conectadasLIVE
Ejecuta el endpoint para ver la respuesta.
/email/validate/Validación previa
Valida destinatario, asunto, cuerpo, formato y SMTP sin enviar.
Detecta errores antes de llamar a /sendemail/.
recipient_emailmail_subjectmail_bodyformatEjemplo de solicitud+
<?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);Probar con tus claves conectadasLIVE
Ejecuta el endpoint para ver la respuesta.
/mailbox/insights/Indicadores del buzón
Consulta fiabilidad, volumen recibido, actividad reciente y último error en una vista.
Crea paneles de estado y alertas.
daysEjemplo de solicitud+
<?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);Probar con tus claves conectadasLIVE
Ejecuta el endpoint para ver la respuesta.
/email/search/Búsqueda unificada
Busca enviados y recibidos por id, asunto o dirección sin cargar el contenido.
Encuentra conversaciones en ambos sentidos.
querydirectionpageper_pagefromtoEjemplo de solicitud+
<?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);Probar con tus claves conectadasLIVE
Ejecuta el endpoint para ver la respuesta.
Elige lo que quieres hacer
Lea hasta 30 correos electrónicos desde una carpeta IMAP.
Envíe un correo electrónico desde su buzón conectado.
Lea los registros de exclusión voluntaria para actualizar su lista de contactos.
Dos llaves. Dos trabajos diferentes.
Utilice ambos valores en cada solicitud. Su contraseña de correo electrónico no se utiliza en las solicitudes de API.
apikeyClave API de cuenta
Identifica su cuenta. Encuéntrelo en su panel MailBridgeAPI.
apikeyboxClave API de buzón
Selecciona el buzón desde el que enviar o leer. Este es el valor apikeybox en su panel.
Las solicitudes requieren dos valores: apikey identifica su cuenta; apikeybox selecciona un buzón configurado. Los ejemplos utilizan los parámetros de solicitud documentados. Mantenga las claves en las variables de entorno del lado del servidor.
Autenticación — Opcional
Para los puntos finales GET, los parámetros de consulta pueden aparecer en los registros. La referencia publicada también describe la autenticación Bearer para la clave de cuenta; Verifique el soporte en su integración antes de adoptarla.
/getemail/Recuperar correos electrónicos
Leer mensajes de una carpeta IMAP seleccionada. El resultado contiene un mapa con clave UID en result.emaillist. Cada página contiene hasta 30 mensajes; Incremente el inicio en 30 para recuperar la página siguiente.
Pruebe este punto finalLIVE
Conecte la clave API de su cuenta arriba para probar este punto final.
Ir a la conexión APISolicitar vista previa
{
"method": "GET",
"url": "https://api.mailbridgeapi.com/getemail/",
"parameters": {
"apikey": "YOUR_CONNECTED_API_KEY",
"apikeybox": "YOUR_SELECTED_MAILBOX_KEY",
"mbox": "INBOX",
"start": "0"
}
}Su respuesta aparecerá aquí después de ejecutar la solicitud.
Comience con estos parámetros
| Parámetro | Requerido | Descripción |
|---|---|---|
apikey | Requerido | Clave API de cuenta. |
apikeybox | Requerido | Clave API del buzón IMAP conectado. |
mbox | Requerido | Nombre de la carpeta IMAP, como INBOX, Enviados o Borradores. |
Todos los parámetros opcionales+
Añádalos sólo cuando necesite la función correspondiente.
| Parámetro | Requerido | Descripción |
|---|---|---|
start | Opcional | Índice de base cero; El valor predeterminado es 0. Hasta 30 mensajes por página. |
Ejemplo de solicitud
<?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);Cómo leer esta respuesta
Los mensajes se agrupan por su IMAP UID en result.emaillist. El asunto (objeto) y el cuerpo pueden estar codificados en URL. Decodifica esos campos antes de mostrarlos como texto.
Una lista de correo electrónico vacía puede ser una respuesta válida y exitosa. Verifique la carpeta seleccionada e inicie el índice.
Ejemplo de respuesta+
{
"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/enviar un correo electrónico
Enviar un correo electrónico a través de la conexión SMTP del buzón seleccionado. Admite HTML, texto, destinatarios CC, archivos adjuntos, imágenes en línea y un pie de página opcional para cancelar la suscripción.
Archivado opcional en la carpeta Enviados
Active las copias enviadas para el buzón en el panel para archivar los envíos API correctos mediante una tarea IMAP separada. El envío SMTP sigue siendo independiente: un problema IMAP nunca convierte un envío aceptado en un error de API. Añada skip_sent_copy=1 a cualquier solicitud que nunca deba archivarse.
Pruebe este punto finalLIVE
Conecte la clave API de su cuenta arriba para probar este punto final.
Ir a la conexión APISolicitar vista previa
{
"method": "POST",
"url": "https://api.mailbridgeapi.com/sendemail/",
"parameters": {
"apikey": "YOUR_CONNECTED_API_KEY",
"apikeybox": "YOUR_SELECTED_MAILBOX_KEY",
"mail_subject": "Hola desde MailBridgeAPI",
"mail_body": "Este es un correo electrónico de prueba enviado desde mi buzón conectado.",
"format": "text"
}
}Su respuesta aparecerá aquí después de ejecutar la solicitud.
Comience con estos parámetros
| Parámetro | Requerido | Descripción |
|---|---|---|
apikey | Requerido | Clave API de cuenta. |
apikeybox | Requerido | Clave API del buzón SMTP a utilizar. |
recipient_email | Requerido | Dirección de correo electrónico del destinatario principal. |
mail_subject | Requerido | Asunto del correo electrónico. |
mail_body | Requerido | Cuerpo del mensaje HTML o texto sin formato. |
Todos los parámetros opcionales+
Añádalos sólo cuando necesite la función correspondiente.
| Parámetro | Requerido | Descripción |
|---|---|---|
sender_email | Opcional | Anular la dirección del remitente; El valor predeterminado es el remitente del buzón SMTP. Su proveedor debe permitir la dirección. |
sender_name | Opcional | Anule el nombre para mostrar del remitente. |
reply_email | Opcional | Dirección de respuesta; El valor predeterminado es sender_email. |
reply_name | Opcional | Responder al nombre para mostrar. |
email_cc1, email_cc2, email_cc3 | Opcional | Hasta tres destinatarios de CC. |
format | Opcional | html (predeterminado) o texto. |
charset | Opcional | Juego de caracteres del mensaje; El valor predeterminado es UTF-8. |
attachmentBase64_1, attachmentBase64_2 | Opcional | Contenido del archivo adjunto codificado como base64. |
attachmentBase64_name_1, attachmentBase64_name_2 | Opcional | Nombres de archivos para los archivos adjuntos correspondientes. |
embeddedImage | Opcional | URL de imagen pública para insertar en línea. |
embeddedImage_cid | Opcional | ID de contenido al que se hace referencia en HTML mediante cid:YOUR_CID. |
unsubscribe | Opcional | Establezca en 1 para agregar el pie de página de cancelación de suscripción configurado; predeterminado 0. |
from_source | Opcional | Una etiqueta de origen opcional para su envío. |
skip_sent_copy | Opcional | Establézcalo en 1 para impedir que este mensaje se copie en la carpeta IMAP de enviados, aunque el archivado esté activado. |
allow_self_signed | Opcional | Configúrelo en sí para permitir certificados TLS autofirmados. Omitir para la validación normal del certificado. |
Ejemplo de solicitud
<?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);Cómo leer esta respuesta
Marque result.error = "0" y result.sent = "OK". El servidor SMTP aceptó el envío; esto no garantiza la entrega a la bandeja de entrada del destinatario.
Ejemplo de respuesta+
{
"result": {
"error": "0",
"sent": "OK",
"id": "msg_example"
}
}/email/unsubscribed/Darse de baja de registros
Recupere hasta 500 registros de envío relacionados con cancelaciones de suscripción para un buzón inferior a result.customer. Opcionalmente, filtre por correo electrónico del destinatario. El parámetro de inicio está reservado y puede ignorarse.
Pruebe este punto finalLIVE
Conecte la clave API de su cuenta arriba para probar este punto final.
Ir a la conexión APISolicitar vista previa
{
"method": "GET",
"url": "https://api.mailbridgeapi.com/email/unsubscribed/",
"parameters": {
"apikey": "YOUR_CONNECTED_API_KEY",
"apikeybox": "YOUR_SELECTED_MAILBOX_KEY"
}
}Su respuesta aparecerá aquí después de ejecutar la solicitud.
Comience con estos parámetros
| Parámetro | Requerido | Descripción |
|---|---|---|
apikey | Requerido | Clave API de cuenta. |
apikeybox | Requerido | Clave API del buzón SMTP. |
Todos los parámetros opcionales+
Añádalos sólo cuando necesite la función correspondiente.
| Parámetro | Requerido | Descripción |
|---|---|---|
email | Opcional | Filtrar registros por dirección de correo electrónico del destinatario. |
start | Opcional | Índice reservado; puede ser ignorado por la implementación actual. |
Ejemplo de solicitud
<?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);Cómo leer esta respuesta
Los registros están por debajo de result.customer. Utilice el correo electrónico del destinatario para actualizar su lista. Este punto final lee registros de exclusión voluntaria; no cancela la suscripción de un contacto en sí.
Ejemplo de respuesta+
{
"result": {
"error": "0",
"customer": [
{
"recipientEmail": "jane@example.com",
"subject": "Monthly update",
"unsubscribeaskedDate": "2025-01-11"
}
]
}
}Respuestas y errores
200 | Solicitud procesada. Inspeccione result.error para ver el resultado del proveedor. |
400 | Faltan parámetros requeridos. |
401 | Clave API no válida o caducada, o una cuenta desactivada. |
500 | Fallo del proveedor SMTP/IMAP o un error interno. |
Si algo sale mal
401 / clave no válida+
Verifique ambas claves, el buzón seleccionado y el estado activo de la cuenta.
Fallo de conexión SMTP+
Verifique los permisos de host, puerto, autenticación y remitente SMTP en el panel.
Error de conexión IMAP+
Verifique el acceso IMAP, las credenciales y el nombre exacto de la carpeta.
No se devolvieron mensajes+
Pruebe INBOX con inicio = 0. Es posible que la carpeta esté vacía.
Tiempo de espera después del envío+
Verifique su panel o carpeta Enviados antes de volver a intentarlo. Es posible que el envío ya se haya realizado.
Límites de tarifas
Límites publicados: envío y recuperación de cancelación de suscripción: 120 solicitudes/minuto; Recuperación IMAP: 60 solicitudes/minuto. También se aplican los propios límites de su proveedor. Maneje las fallas y evite reintentar envíos a ciegas, lo que puede crear correos electrónicos duplicados.
Los ejemplos de código son ejemplos. Las solicitudes en vivo se ejecutan solo cuando envía explícitamente una prueba de punto final.