Mailjet: Guia técnico completo para email transacional em 2026
Por CaptainDNS
Publicado em 20 de janeiro de 2026

- Mailjet (Sinch) processa 300+ bilhões de emails/ano com uma API v3.1 moderna limitada a 50 mensagens por chamada.
- DKIM obrigatório: seletor
mailjet, chaves 2048 bits por padrão desde abril de 2024, 4096 bits disponível. - O alinhamento SPF falha por padrão (Return-Path no domínio Mailjet): conte com DKIM sozinho para DMARC.
- IP dedicado incluído a partir do plano Premium 100k (95$/mês) com warm-up de 2-6 semanas obrigatório.
- Plano Free: 6.000 emails/mês mas limitado a 200/dia, ideal para dev/staging.
Introdução
Mailjet se estabeleceu como um player importante no email transacional na Europa, fundado em 2010 em Nantes antes de ser adquirido pela Sinch em dezembro de 2021 por 1,9 bilhão de dólares. Hoje, a plataforma processa mais de 300 bilhões de emails por ano e atende mais de 100.000 clientes pagantes em mais de 150 países.
Mas por trás da interface de marketing e do editor drag-and-drop existem sutilezas técnicas críticas: diferenças entre API v3 e v3.1, configuração DKIM com escolha de tamanho de chave, alinhamento DMARC falhando por padrão em SPF, limites estritos do plano Free (apenas 200 emails/dia), e restrições de IP dedicado com warm-up obrigatório.
Este guia é destinado a desenvolvedores, DevOps e administradores de sistemas que integram Mailjet para email transacional. Detalhamos os pontos de bloqueio, as configurações críticas e as escolhas técnicas de acordo com sua stack e seus volumes.
Mailjet no ecossistema Sinch
Histórico e aquisições
Mailjet foi fundado em 2010 em Nantes por Wilfried Durand e Julien Tartarin via eFounders (hoje Hexa). A trajetória de aquisições:
| Data | Evento |
|---|---|
| Fevereiro 2011 | Lançamento público |
| Outubro 2019 | Aquisição pela Mailgun (Thoma Bravo) |
| Dezembro 2021 | Aquisição pela Sinch por 1,9 Bi$ |
| 2025 | 300+ bilhões de emails/ano |
Posicionamento vs Mailgun
Dentro do ecossistema Sinch, a diferenciação é clara:
| Plataforma | Público-alvo | Ponto forte |
|---|---|---|
| Sinch Mailjet | Profissionais de marketing, PMEs | Interface intuitiva, editor colaborativo |
| Sinch Mailgun | Desenvolvedores | API-first, 20+ APIs, SDKs avançados |
| Sinch Email on Acid | QA de email | Teste e pré-visualização cross-client |
Dado importante: durante a Black Friday 2025, Mailjet e Mailgun entregaram 20,4 bilhões de emails em novembro (+32% YoY).
API REST: v3 vs v3.1
Mailjet oferece duas versões de sua Send API. A v3.1 é recomendada para novos projetos.

Diferenças principais
| Característica | v3 | v3.1 (recomendada) |
|---|---|---|
| Endpoint | POST /v3/send | POST /v3.1/send |
| Estrutura do payload | Array Recipients | Array Messages obrigatório |
| Nomenclatura de propriedades | Hifens (Html-part) | CamelCase (HTMLPart) |
| Mensagens por chamada | 100 | 50 |
| Variáveis | Vars | Variables |
| Templates | Mj-TemplateID | TemplateID |
| Resposta | Status simples | Detalhada com MessageUUID, MessageHref |
Estrutura de requisição v3.1
{
"Messages": [{
"From": {"Email": "sender@captaindns.com", "Name": "Remetente"},
"To": [{"Email": "dest@captaindns.com", "Name": "Destinatário"}],
"Subject": "Confirmação do pedido {{var:order_id}}",
"HTMLPart": "<h1>Obrigado {{var:firstname}}</h1>",
"Variables": {"firstname": "João", "order_id": "12345"},
"TemplateID": 12345,
"TemplateLanguage": true
}]
}
Autenticação API
A autenticação utiliza Basic Auth com:
- Username: API Key (pública)
- Password: Secret Key (privada)
curl -X POST https://api.mailjet.com/v3.1/send \
-u "$API_KEY:$SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"Messages": [...]}'
Recomendação: renovar a Secret Key a cada 90 dias.
SDKs oficiais
| Linguagem | Pacote | Instalação |
|---|---|---|
| PHP | mailjet-apiv3-php | composer require mailjet/mailjet-apiv3-php |
| Node.js | node-mailjet | npm install node-mailjet |
| Python | mailjet-rest | pip install mailjet-rest |
| Go | mailjet-apiv3-go | go get github.com/mailjet/mailjet-apiv3-go/v4 |
| Java | mailjet-client | Maven com.mailjet:mailjet-client:6.0.0 |
| Ruby | mailjet-gem | gem install mailjet |
| C#/.NET | Mailjet.Api | NuGet Mailjet.Api |
Limitação importante: Mailjet não suporta o parâmetro send_at para emails transacionais. O agendamento só está disponível para campanhas de marketing via /campaigndraft.
SMTP Relay
O SMTP relay continua relevante para infraestruturas existentes e CMS legados.
Configuração
Servidor SMTP: in-v3.mailjet.com
Portas: 25 (STARTTLS), 465 (SSL/TLS), 587 (recomendada), 2525 (alternativa)
Username: [API Key]
Password: [Secret Key]
Criptografia: TLS suportado em todas as portas
Headers X-Mailjet-* para funcionalidades avançadas
| Header | Uso |
|---|---|
X-MJ-CustomID | Identificador personalizado para rastreamento |
X-MJ-EventPayload | Payload retornado nos webhooks |
X-MJ-Campaign | Agrupamento de mensagens |
X-MJ-TemplateID | ID do template Mailjet |
X-MJ-TemplateLanguage | Ativa o motor de templates (true) |
X-MJ-Vars | Variáveis JSON para personalização |
X-MJ-TrackOpen / X-MJ-TrackClick | Override de rastreamento (0/1) |
SMTP vs API: quando escolher qual?
Prefira SMTP se:
- Infraestrutura existente (Postfix, Sendmail)
- CMS sem SDK (WordPress legado, Drupal)
- Sistemas sem capacidade HTTP nativa
Prefira API se:
- Novos desenvolvimentos
- Necessidade de respostas imediatas (MessageUUID)
- Personalização avançada (templates, variáveis)
- Gestão refinada de erros
Configuração DKIM: o ponto crítico
Por que DKIM é obrigatório
Desde as exigências do Gmail/Yahoo de fevereiro de 2024, a autenticação DKIM é indispensável. Sem DKIM configurado, seus emails correm risco de ir para spam ou serem rejeitados.

Processo de configuração
- Account Settings → Domains & Sender addresses → SPF/DKIM Authentication
- Adicionar o domínio se não estiver listado
- Clicar em Setup SPF/DKIM Authentication
- Copiar os valores DKIM fornecidos
- Criar o registro TXT no seu DNS
- Clicar em Refresh para verificar
Parâmetros DKIM Mailjet
| Parâmetro | Valor |
|---|---|
| Seletor | mailjet |
| Hostname DNS | mailjet._domainkey.captaindns.com |
| Tipo | TXT (não CNAME) |
Tamanhos de chave disponíveis
| Tamanho | Status | Recomendação |
|---|---|---|
| 1024 bits | Legado | Compatibilidade máxima |
| 2048 bits | Padrão desde abril 2024 | Recomendado |
| 4096 bits | Disponível (contas novas) | Segurança máxima |
Exemplo de registro DKIM:
Type: TXT
Host: mailjet._domainkey
Value: k=rsa; p=MIGfMA0GCSqGSIb3DQEBA...[chave pública]...QIDAQAB
TTL: 300
Rotação de chaves: disponível via Account → Domains → Regenerate Key. Necessita atualização DNS após regeneração.
Alinhamento SPF, DKIM e DMARC
O problema do alinhamento SPF
Por padrão, Mailjet usa seu próprio domínio para o Return-Path (bnc3.mailjet.com). Consequência: o alinhamento SPF falha sistematicamente para DMARC.

Como DMARC funciona com Mailjet
| Método | Domínio autenticado | Domínio From | Alinhamento? | Resultado DMARC |
|---|---|---|---|---|
| SPF | mailjet.com (Return-Path) | captaindns.com | Não | Não contribui |
| DKIM | captaindns.com (assinatura d=) | captaindns.com | Sim | DMARC passa |
Estratégia: confiar apenas no DKIM para conformidade DMARC. Um único mecanismo alinhado é suficiente.
Ativar o alinhamento SPF (opcional, contas pagas)
Se você deseja o alinhamento SPF (dupla validação DMARC):
- Criar um CNAME:
bnc3.captaindns.com CNAME bnc3.mailjet.com - Enviar um ticket ao suporte Mailjet com screenshot do DNS e API key
- Mailjet ativa o Return-Path personalizado (limitado a um por API key)
Nota: esta configuração é reservada para contas pagas e requer intervenção do suporte.
Configuração DMARC recomendada
# Fase 1 - Monitoramento
_dmarc TXT "v=DMARC1; p=none; rua=mailto:dmarc@captaindns.com"
# Fase 2 - Quarentena
_dmarc TXT "v=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc@captaindns.com"
# Fase 3 - Rejeição
_dmarc TXT "v=DMARC1; p=reject; pct=100; rua=mailto:dmarc@captaindns.com"
IP dedicado vs compartilhado
Limites para IP dedicado
| Critério | Limite |
|---|---|
| Mínimo absoluto | 100.000 emails/mês |
| Recomendação ISP | 150.000 emails/mês + 5.000/dia |
| Incluído gratuitamente | Planos Premium 100k+ e Custom |
Processo de warm-up
Um IP dedicado novo requer um warm-up obrigatório:
| Parâmetro | Valor |
|---|---|
| Tipo | Manual, guiado pela equipe de deliverability Mailjet |
| Início | ~300 emails no dia 1 |
| Progressão | +20% por dia |
| Duração | 2-6 semanas dependendo do volume e engajamento |
| Contato | Suporte/vendas obrigatório (sem self-service) |
Quando permanecer no IP compartilhado?
Permaneça no IP compartilhado se:
- Volume inferior a 100.000 emails/mês
- Envios irregulares ou esporádicos
- Transacional puro de baixo volume
- Sem recursos para gerenciar o warm-up
Migre para IP dedicado se:
- Volume regular superior a 150.000 emails/mês
- Necessidade de separar tráfego de marketing e transacional
- Exigências de whitelisting ou conformidade
- Recursos para monitorar a reputação
Preços 2025
Planos disponíveis
| Plano | Preço/mês | Emails/mês | Emails/dia | IP dedicado |
|---|---|---|---|---|
| Free | 0$ | 6.000 | 200 | Não |
| Essential 15k | 17$ | 15.000 | Ilimitado | Não |
| Premium 15k | 27$ | 15.000 | Ilimitado | Não |
| Premium 100k | 95$ | 100.000 | Ilimitado | Incluído |
| Premium 500k | 470$ | 500.000 | Ilimitado | Incluído |
| Custom | Orçamento | Personalizado | Ilimitado | Incluído |
Desconto anual: 10% em todos os planos.
Funcionalidades por plano
| Funcionalidade | Free | Essential | Premium |
|---|---|---|---|
| APIs, SMTP, Webhooks | Sim | Sim | Sim |
| Logo Mailjet | Presente | Removido | Removido |
| Segmentação | Não | Sim | Sim |
| Automação | Não | Não | Sim |
| Teste A/B | Não | Não | Sim (10 versões) |
| Multi-usuários | Não | Não | Sim |
| IP dedicado | Não | Não | Sim (100k+) |
| SSO | Não | Não | Sim (100k+) |
Custos adicionais
- Overage: 2,24$/1000 (níveis baixos), 1,04$/1000 (níveis altos)
- Validações de email: 500/mês (Essential), 2.000/mês (Premium 100k+)
- Desconto nonprofit: 20% nos planos mensais
- Sem acúmulo de créditos: emails não utilizados expiram no fim do ciclo
Limites técnicos
Rate limits
| Elemento | Limite |
|---|---|
| Contas Test Mode | 10 emails/hora |
| Plano Free | 200 emails/dia |
| API SMS | 6 requisições/segundo |
| IP dedicado | ~100.000 emails/hora |
| Mensagens v3 por chamada | 100 |
| Mensagens v3.1 por chamada | 50 |
Throttling: código HTTP 429 Too Many Requests com erro MJ-002: Exceeded API Rate Limit.
Cotas da plataforma
| Elemento | Limite |
|---|---|
| Tamanho máximo do email | 15 MB |
| Recipients por chamada (v3) | 50 |
| Objetos message por payload (v3.1) | 100 |
| Tamanho HTML (antes do clipping Gmail) | 102 KB |
| Upload de imagem | 2 MB (recomendado menos de 200 KB) |
| Contatos plano Free | 1.000 |
Gestão de bounces
| Tipo | Comportamento Mailjet |
|---|---|
| Hard bounce | Bloqueio automático por 90 dias |
| Soft bounce | Retry durante 24h depois marcado como soft-bounced |
| Reclamação de spam | Bloqueio sistemático via FBL |
| Unsubscribe | Remoção automática das listas |
Webhooks e Event API
Eventos disponíveis
| Evento | Descrição |
|---|---|
sent | Email aceito pelo servidor SMTP de destino |
delivered | Entrega confirmada |
open | Abertura detectada |
click | Clique em link |
bounce | Bounce (hard ou soft) |
blocked | Pré-bloqueado pelo Mailjet |
spam | Marcado como spam |
unsub | Cancelamento de inscrição |
Configuração de webhook
POST /v3/REST/eventcallbackurl
{
"EventType": "open",
"Url": "https://captaindns.com/webhook",
"Version": 2
}
Lógica de retry: tentativas a cada 30 segundos durante 24h se não receber 200. URL suspensa após falhas repetidas.
Segurança: HTTPS com Basic Auth recomendado (https://user:pass@captaindns.com/webhook).
Template Language
Mailjet usa uma sintaxe tipo Jinja2/Twig:
Variáveis
Mailjet oferece quatro tipos de variáveis:
- Variável API: sintaxe
var:namepara dados passados via API - Valor padrão: sintaxe
var:name:"default"se a variável estiver ausente - Dado de contato: sintaxe
data:propertypara propriedades persistentes do contato - Variável predefinida: sintaxe
mj:contact.emailpara dados do sistema
Condicionais e loops
Condicional:
{% if var:totalorders > "5" %}
Código promocional VIP: -10%
{% else %}
Bem-vindo novo cliente!
{% endif %}
Loop:
{% for item in var:products %}
Produto: item.name - item.price BRL
{% endfor %}
Conformidade e certificações
| Certificação | Status |
|---|---|
| ISO 27001 | Sim (primeiro ESP puro certificado, 2017) |
| ISO 27701 | Sim (extensão de privacidade) |
| SOC 2 Type II | Sim (~400 controles) |
| PCI DSS | Sim |
| HIPAA | Sob demanda |
| LGPD/GDPR | Primeira empresa certificada AFAQ RGPD (2018) |
Dados: armazenamento exclusivo na UE (Google Cloud Platform).
Segurança da conta:
- Autenticação de dois fatores (2FA) via apps TOTP (Google Authenticator, Authy)
- SSO e SAML nos planos Premium 100k+ (Okta, Azure AD, Auth0)
- Login Challenge para IPs desconhecidos (desde março 2024)
Plano de ação: primeiros passos em 7 etapas
1. Criar a conta e gerar as credenciais
- Criar uma conta Mailjet (Free possível)
- Gerar API Key + Secret Key em Account Settings → API Key Management
- Anotar ambas: API Key (pública) e Secret Key (privada, a proteger)
2. Adicionar e validar o sender
- Criar um sender em Account Settings → Senders & Domains
- Validar o endereço via link recebido por email
3. Configurar DKIM (obrigatório)
- Ir em Domains & Sender addresses → SPF/DKIM Authentication
- Copiar os valores DKIM gerados pelo Mailjet
- Criar o registro TXT no seu registrar:
- Nome:
mailjet._domainkey - Valor: a chave pública fornecida
- Nome:
- Aguardar a propagação (24-48h máximo)
- Clicar em Refresh para verificar
4. Configurar SPF (opcional)
Se você deseja incluir o SPF:
v=spf1 include:spf.mailjet.com ~all
Nota: o include SPF sozinho não é suficiente para o alinhamento DMARC (veja seção de alinhamento).
5. Escolher o método de envio
Opção A: API REST v3.1
- Implementar o endpoint
POST /v3.1/send - Usar os SDKs se disponíveis na sua stack
- Criar templates em Templates se necessário
Opção B: SMTP relay
- Configurar sua aplicação com:
- Host:
in-v3.mailjet.com - Porta:
587(STARTTLS) - User: API Key
- Password: Secret Key
- Host:
6. Configurar os webhooks
- Account Settings → Event tracking (Webhooks)
- Criar endpoints para:
delivered,bounced,opened,clicked,spam - Proteger com HTTPS + Basic Auth
7. Testar e monitorar
- Enviar um email de teste
- Verificar em Stats se o envio está OK
- Verificar os headers do email recebido (DKIM pass, domínio From correto)
- Monitorar o dashboard para as métricas
FAQ
Qual é a diferença entre API v3 e v3.1?
A v3.1 usa nomes de propriedades em CamelCase (HTMLPart) vs hifens (Html-part), limita as mensagens a 50 por chamada (vs 100), e retorna respostas mais detalhadas com MessageUUID e MessageHref. A v3.1 é recomendada para novos projetos.
Por que o alinhamento SPF falha com Mailjet?
Mailjet usa seu próprio domínio para o Return-Path (bnc3.mailjet.com). DMARC verifica o alinhamento entre o domínio autenticado por SPF e o domínio From. Como esses domínios diferem, SPF não contribui para DMARC. Solução: confiar apenas no DKIM, que passa no alinhamento.
Devo adicionar include:spf.mailjet.com no meu SPF?
Não é obrigatório e não muda nada no alinhamento DMARC. O include SPF pode ser útil para validação SPF básica, mas DKIM sozinho é suficiente para passar DMARC com Mailjet. O alinhamento SPF só é possível com um Return-Path personalizado (contas pagas, suporte necessário).
O plano Free é suficiente para uma aplicação em produção?
Sim, se seu volume for igual ou inferior a 200 emails/dia (atenção: o plano Free oferece 6.000/mês mas limitado a 200/dia). Todas as funcionalidades transacionais (API, SMTP, webhooks) estão disponíveis. Ideal para MVP, staging ou aplicações de volume muito baixo.
Qual tamanho de chave DKIM escolher?
2048 bits é o padrão desde abril de 2024 e atende a maioria dos casos. 4096 bits está disponível para novas contas se você deseja segurança máxima. 1024 bits é legado e desaconselhado, exceto por restrições de compatibilidade específicas.
Quando preciso de um IP dedicado?
Se você envia mais de 100.000 emails/mês de forma regular, se precisa isolar a reputação do seu tráfego transacional, ou se tem exigências de whitelisting. O IP dedicado está incluído nos planos Premium 100k+ e requer um warm-up de 2-6 semanas.
Como funciona o warm-up de um IP dedicado?
O warm-up é um processo manual guiado pela equipe Mailjet. Começa com aproximadamente 300 emails/dia e aumenta 20% por dia durante 2 a 6 semanas. É necessário enviar diariamente para estabelecer a reputação. Contato com suporte/vendas é obrigatório para ativação.
Posso agendar o envio de emails transacionais para um horário específico?
Não, Mailjet não suporta o parâmetro send_at para emails transacionais via Send API. O agendamento só está disponível para campanhas de marketing via o endpoint /campaigndraft. Para transacional, você deve gerenciar o agendamento no lado da aplicação.
Glossário
-
SPF (Sender Policy Framework): Protocolo de autenticação que lista os servidores autorizados a enviar emails para um domínio. SPF autentica o domínio do Return-Path. Com Mailjet, o include é
spf.mailjet.com. -
DKIM (DomainKeys Identified Mail): Protocolo de autenticação que assina criptograficamente os emails. Mailjet usa o seletor
mailjete oferece chaves de 1024 a 4096 bits. -
DMARC (Domain-based Message Authentication, Reporting & Conformance): Protocolo que verifica o alinhamento entre SPF/DKIM e o header From. Com Mailjet, apenas DKIM passa no alinhamento por padrão.
-
Return-Path (Envelope From): Endereço técnico usado para rotear o email e gerenciar bounces. No Mailjet, é
bnc3.mailjet.compor padrão, o que impede o alinhamento SPF. -
Alinhamento DMARC: Verificação de que o domínio autenticado (SPF ou DKIM) corresponde ao domínio From. Modo relaxed (padrão) aceita subdomínios.
-
API Key: Identificador público Mailjet usado como username para autenticação API e SMTP.
-
Secret Key: Chave privada Mailjet usada como password. A renovar a cada 90 dias.
-
Send API: Endpoint de envio de emails Mailjet. Versão v3.1 recomendada (
POST /v3.1/send). -
Rate limit: Limite de taxa. Código HTTP 429 em caso de excesso. Mensagem v3.1 limitada a 50 por chamada.
-
Warm-up: Processo de aumento gradual de carga de um IP dedicado. 2-6 semanas no Mailjet.
-
Webhook: URL HTTP chamada pelo Mailjet durante eventos (delivered, bounced, etc.). Retry durante 24h em caso de falha.


