Documentação da API de e-mail: SMTP e IMAP.
Ligue a sua própria caixa SMTP e IMAP a uma chave API de conta e uma chave API da caixa. Use ambas em pedidos HTTP para enviar, ler e gerir a caixa selecionada.
https://api.mailbridgeapi.comAcompanhe as alterações da API e do produto.
Consulte as atualizações publicadas dos endpoints, da documentação e da plataforma antes de alterar uma integração.
Abrir o registo de alteraçõesConstruindo com um assistente de IA?
Use nossa base de conhecimento pesquisável, referência de texto completo e API somente leitura para fornecer ao seu assistente documentação MailBridgeAPI baseada na fonte.
Explore a base de conhecimentoSua primeira solicitação, em três etapas
Comece lendo sua caixa de entrada. Depois de ver uma resposta bem-sucedida, você pode tentar enviar uma mensagem.
Conecte suas chaves
Cole a chave API da sua conta e a chave de uma caixa de e-mail configurada. Clique em Conectar.
Busque sua caixa de entrada
Abra “Recuperar e-mails”, mantenha INBOX e comece com 0, depois clique em Buscar e-mails.
Leia o resultado
HTTP 200 significa que o servidor respondeu. result.error = "0" indica sucesso; os e-mails estão dentro de result.emaillist.
Experimente a API com sua caixa de e-mail
Conecte sua chave de conta, escolha uma caixa de e-mail e execute uma solicitação abaixo. Essas solicitações usam o serviço ativo MailBridgeAPI.
As chaves permanecem na memória desta página e são apagadas ao desconectar ou recarregar. As solicitações passam pelo servidor deste site para MailBridgeAPI.
MUITO MAIS DO QUE ENVIAR E RECEBER
Endpoints profissionais para gerir a sua caixa.
Verifique a configuração, consulte a atividade, encontre uma mensagem, crie relatórios e valide um envio antes do SMTP. Todos os endpoints usam as mesmas chaves.
Use headers nas novas integrações
Envie a chave da conta em X-API-Key e a chave da caixa em X-Mailbox-Key. apikey e apikeybox continuam disponíveis para compatibilidade. Guarde ambas no servidor.
X-API-KeyX-Mailbox-Key/mailbox/status/Estado da caixa
Verifique SMTP, IMAP e funcionalidades sem expor credenciais.
Útil para configuração, monitorização e suporte.
Exemplo de pedido+
<?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);Testar com as chaves ligadasLIVE
Execute o endpoint para ver a resposta.
/email/sent/Histórico de enviados
Obtenha um registo paginado com filtros de estado, destinatário, data e origem.
Crie painéis e detete erros SMTP.
pageper_pagestatusrecipientfromtosourceinclude_bodyExemplo de pedido+
<?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);Testar com as chaves ligadasLIVE
Execute o endpoint para ver a resposta.
/email/received/Histórico de recebidos
Consulte mensagens guardadas com paginação e filtros.
Alimente suporte, CRM e filas de processamento.
pageper_pagesenderfromtoinclude_bodyExemplo de pedido+
<?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);Testar com as chaves ligadasLIVE
Execute o endpoint para ver a resposta.
/email/message/Detalhe da mensagem
Obtenha uma mensagem enviada ou recebida pelo id MailBridgeAPI.
Carregue o conteúdo completo apenas quando necessário.
directionidExemplo de pedido+
<?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);Testar com as chaves ligadasLIVE
Execute o endpoint para ver a resposta.
/email/activity/Atividade da caixa
Obtenha totais e uma série diária de 1 a 90 dias.
Crie gráficos, controlos e relatórios.
daysExemplo de pedido+
<?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);Testar com as chaves ligadasLIVE
Execute o endpoint para ver a resposta.
/email/validate/Validação prévia
Valide destinatário, assunto, corpo, formato e SMTP sem enviar.
Detete erros antes de /sendemail/.
recipient_emailmail_subjectmail_bodyformatExemplo de pedido+
<?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);Testar com as chaves ligadasLIVE
Execute o endpoint para ver a resposta.
/mailbox/insights/Indicadores da caixa
Consulte fiabilidade, volume recebido, atividade recente e último erro numa vista.
Crie painéis de estado e alertas.
daysExemplo de pedido+
<?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);Testar com as chaves ligadasLIVE
Execute o endpoint para ver a resposta.
/email/search/Pesquisa unificada
Pesquise enviados e recebidos por id, assunto ou endereço sem carregar o conteúdo.
Encontre conversas nos dois sentidos.
querydirectionpageper_pagefromtoExemplo de pedido+
<?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);Testar com as chaves ligadasLIVE
Execute o endpoint para ver a resposta.
Escolha o que você quer fazer
Leia até 30 e-mails de uma pasta IMAP.
Envie um e-mail da sua caixa de e-mail conectada.
Leia os registros de cancelamento para atualizar sua lista de contatos.
Duas chaves. Dois trabalhos diferentes.
Use os dois valores em cada solicitação. Sua senha de e-mail não é usada em solicitações de API.
apikeyChave de API da conta
Identifica sua conta. Encontre-o no painel MailBridgeAPI.
apikeyboxChave API da caixa de e-mail
Seleciona a caixa de e-mail para enviar ou ler. Este é o valor apikeybox em seu painel.
As solicitações requerem dois valores: apikey identifica sua conta; apikeybox seleciona uma caixa de e-mail configurada. Os exemplos usam os parâmetros de solicitação documentados. Mantenha as chaves nas variáveis de ambiente do lado do servidor.
Autenticação — Opcional
Para endpoints GET, os parâmetros de consulta podem aparecer nos logs. A referência publicada também descreve a autenticação Bearer para a chave da conta; verifique o suporte em sua integração antes de adotá-la.
/getemail/Recuperar e-mails
Leia mensagens de uma pasta IMAP selecionada. O resultado contém um mapa com chave UID em result.emaillist. Cada página contém até 30 mensagens; incremente começando em 30 para recuperar a próxima página.
Experimente este ponto finalLIVE
Conecte a chave API da sua conta acima para testar este endpoint.
Vá para conexão APISolicitar visualização
{
"method": "GET",
"url": "https://api.mailbridgeapi.com/getemail/",
"parameters": {
"apikey": "YOUR_CONNECTED_API_KEY",
"apikeybox": "YOUR_SELECTED_MAILBOX_KEY",
"mbox": "INBOX",
"start": "0"
}
}Sua resposta aparecerá aqui depois de executar a solicitação.
Comece com estes parâmetros
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
apikey | Obrigatório | Chave de API da conta. |
apikeybox | Obrigatório | Chave API da caixa de e-mail IMAP conectada. |
mbox | Obrigatório | Nome da pasta IMAP, como INBOX, Enviados ou Rascunhos. |
Todos os parâmetros opcionais+
Adicione-os apenas quando precisar do recurso correspondente.
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
start | Opcional | Índice baseado em zero; o padrão é 0. Até 30 mensagens por página. |
Exemplo de solicitação
<?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);Como ler esta resposta
As mensagens são agrupadas por IMAP UID em result.emaillist. O assunto (objeto) e o corpo podem ser codificados por URL. Decodifique esses campos antes de exibi-los como texto.
Uma lista de e-mail vazia pode ser uma resposta válida e bem-sucedida. Verifique a pasta selecionada e inicie o index.
Resposta de exemplo+
{
"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/Envie um e-mail
Envie um email através da conexão SMTP da caixa de e-mail selecionada. Suporta HTML, texto, destinatários CC, anexos, imagens embutidas e um rodapé opcional para cancelamento de assinatura.
Arquivo opcional na pasta Enviados
Ative as cópias enviadas para a caixa de correio no painel para arquivar envios API bem-sucedidos através de uma tarefa IMAP separada. O envio SMTP permanece independente: um problema IMAP nunca transforma um envio aceite num erro da API. Adicione skip_sent_copy=1 a qualquer pedido que nunca deva ser arquivado.
Experimente este ponto finalLIVE
Conecte a chave API da sua conta acima para testar este endpoint.
Vá para conexão APISolicitar visualização
{
"method": "POST",
"url": "https://api.mailbridgeapi.com/sendemail/",
"parameters": {
"apikey": "YOUR_CONNECTED_API_KEY",
"apikeybox": "YOUR_SELECTED_MAILBOX_KEY",
"mail_subject": "Olá de MailBridgeAPI",
"mail_body": "Este é um e-mail de teste enviado da minha caixa de e-mail conectada.",
"format": "text"
}
}Sua resposta aparecerá aqui depois de executar a solicitação.
Comece com estes parâmetros
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
apikey | Obrigatório | Chave de API da conta. |
apikeybox | Obrigatório | Chave API da caixa de e-mail SMTP a ser usada. |
recipient_email | Obrigatório | Endereço de e-mail do destinatário principal. |
mail_subject | Obrigatório | Assunto do e-mail. |
mail_body | Obrigatório | Corpo da mensagem em HTML ou texto simples. |
Todos os parâmetros opcionais+
Adicione-os apenas quando precisar do recurso correspondente.
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
sender_email | Opcional | Substitua o endereço do remetente; o padrão é o remetente da caixa de e-mail SMTP. Seu provedor deve permitir o endereço. |
sender_name | Opcional | Substitua o nome de exibição do remetente. |
reply_email | Opcional | Endereço de resposta; o padrão é sender_email. |
reply_name | Opcional | Nome de exibição para resposta. |
email_cc1, email_cc2, email_cc3 | Opcional | Até três destinatários CC. |
format | Opcional | html (padrão) ou texto. |
charset | Opcional | Conjunto de caracteres de mensagem; o padrão é UTF-8. |
attachmentBase64_1, attachmentBase64_2 | Opcional | Conteúdo do anexo codificado como base64. |
attachmentBase64_name_1, attachmentBase64_name_2 | Opcional | Nomes de arquivos para os anexos correspondentes. |
embeddedImage | Opcional | URL de imagem pública para incorporar in-line. |
embeddedImage_cid | Opcional | ID do conteúdo referenciado em HTML usando cid:YOUR_CID. |
unsubscribe | Opcional | Defina como 1 para anexar o rodapé de cancelamento de assinatura configurado; padrão 0. |
from_source | Opcional | Um rótulo de origem opcional para seu envio. |
skip_sent_copy | Opcional | Defina como 1 para impedir que esta mensagem seja copiada para a pasta IMAP de enviados, mesmo quando o arquivo estiver ativado. |
allow_self_signed | Opcional | Defina como sim para permitir certificados TLS autoassinados. Omitir para validação normal do certificado. |
Exemplo de solicitação
<?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);Como ler esta resposta
Verifique result.error = "0" e result.sent = "OK". O servidor SMTP aceitou o envio; isso não garante a entrega na caixa de entrada do destinatário.
Resposta de exemplo+
{
"result": {
"error": "0",
"sent": "OK",
"id": "msg_example"
}
}/email/unsubscribed/Cancelar inscrição de registros
Recupere até 500 registros de envio relacionados ao cancelamento de assinatura para uma caixa de e-mail abaixo de result.customer. Opcionalmente, filtre por e-mail do destinatário. O parâmetro start é reservado e pode ser ignorado.
Experimente este ponto finalLIVE
Conecte a chave API da sua conta acima para testar este endpoint.
Vá para conexão APISolicitar visualização
{
"method": "GET",
"url": "https://api.mailbridgeapi.com/email/unsubscribed/",
"parameters": {
"apikey": "YOUR_CONNECTED_API_KEY",
"apikeybox": "YOUR_SELECTED_MAILBOX_KEY"
}
}Sua resposta aparecerá aqui depois de executar a solicitação.
Comece com estes parâmetros
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
apikey | Obrigatório | Chave de API da conta. |
apikeybox | Obrigatório | Chave API da caixa de e-mail SMTP. |
Todos os parâmetros opcionais+
Adicione-os apenas quando precisar do recurso correspondente.
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
email | Opcional | Filtre os registros por endereço de e-mail do destinatário. |
start | Opcional | Índice reservado; pode ser ignorado pela implementação atual. |
Exemplo de solicitação
<?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);Como ler esta resposta
Os registros estão abaixo de result.customer. Use destinatárioEmail para atualizar sua lista. Este endpoint lê registros de opt-out; ele não cancela a inscrição de um contato por si só.
Resposta de exemplo+
{
"result": {
"error": "0",
"customer": [
{
"recipientEmail": "jane@example.com",
"subject": "Monthly update",
"unsubscribeaskedDate": "2025-01-11"
}
]
}
}Respostas e erros
200 | Solicitação processada. Inspecione result.error para o resultado do provedor. |
400 | Os parâmetros obrigatórios estão faltando. |
401 | Chave de API inválida ou expirada ou conta desativada. |
500 | Falha no provedor SMTP/IMAP ou erro interno. |
Se algo der errado
401/chave inválida+
Verifique ambas as chaves, a caixa de e-mail selecionada e o status ativo da conta.
Falha na conexão SMTP+
Verifique o host SMTP, a porta, a autenticação e as permissões do remetente no painel.
Falha na conexão IMAP+
Verifique o acesso IMAP, as credenciais e o nome exato da pasta.
Nenhuma mensagem foi retornada+
Tente INBOX com start = 0. A pasta pode estar vazia.
Tempo limite após o envio+
Verifique seu painel ou pasta Enviados antes de tentar novamente. O envio pode já ter acontecido.
Limites de taxa
Limites publicados: envio e recuperação de cancelamento — 120 solicitações/minuto; Recuperação IMAP — 60 solicitações/minuto. Os próprios limites do seu provedor também se aplicam. Lide com falhas e evite novas tentativas de envio às cegas, o que pode criar e-mails duplicados.
Amostras de código são exemplos. As solicitações ativas são executadas somente quando você envia explicitamente um teste de endpoint.