Anexos

Formato, limites e regras dos anexos de e-mail, no envio transacional e em campanhas.

Anexos são aceitos tanto no envio transacional quanto na criação de campanha. O formato do item é o mesmo nos dois casos.

Item de attachments
filenamestringobrigatório

Nome do arquivo como o destinatário vai vê-lo. Diretórios são descartados (../../etc/nota.pdf vira nota.pdf) e os caracteres < > : " | ? * são removidos.

contentstringopcional

Conteúdo do arquivo em base64. Aceita data URI (data:application/pdf;base64,...) — nesse caso o contentType é extraído do prefixo. Mutuamente exclusivo com url.

urlstringopcional

Endereço de onde baixar o arquivo no momento do envio. A URL precisa estar acessível sem autenticação. Mutuamente exclusivo com content.

contentTypestringopcional

MIME type do arquivo. Quando omitido, é derivado da extensão do filename.

Exemplo
{
  "attachments": [
    {
      "filename": "nota-fiscal.pdf",
      "content": "JVBERi0xLjQKJcfsj6IKNSAwIG9iago8PC9MZW5ndGgg...",
      "contentType": "application/pdf"
    },
    {
      "filename": "boleto.pdf",
      "url": "https://cdn.suaempresa.com/boletos/8f2a.pdf"
    }
  ]
}

Limites

RegraValor
Anexos por e-mail10
Tamanho total (soma dos anexos, já decodificados)15 MB
Tamanho máximo do corpo da requisição25 MB
Comprimento do filename200 caracteres

Um dos dois, nunca os dois

Cada anexo precisa de content ou url. Informar ambos — ou nenhum — devolve 400.

Anexos de campanha ficam guardados

Em campanhas, o anexo é persistido junto da campanha e reenviado em cada disparo, inclusive nos agendados. No envio transacional, o arquivo é usado apenas naquele envio. Por isso, quando a campanha tem anexo, o disparo passa a ser feito e-mail a e-mail em vez de em lote — o que reduz a velocidade de envio.

Erros

Anexos inválidos devolvem 400 com o código INVALID_EMAIL_ATTACHMENT. As causas possíveis são: falta de filename, ausência de content e url, presença dos dois, base64 malformado, ou qualquer um dos limites acima excedido.

Um corpo de requisição acima de 25 MB devolve 413 antes mesmo da validação dos anexos.