Todos os produtos
Search
Central de documentação

Direct Mail:Como enviar um e-mail com anexos usando SMTP

Última atualização: Jun 27, 2026

Envie anexos de e-mail por SMTP estruturando sua mensagem no formato Multipurpose Internet Mail Extensions (MIME).

O envio de anexos via SMTP exige que o corpo do e-mail siga o formato MIME. O MIME define como empacotar várias partes de conteúdo — texto, imagens e arquivos — em uma única mensagem de e-mail compatível com qualquer cliente de e-mail padrão.

Conceitos básicos do MIME

  • O MIME é um padrão da Internet que estende o formato das mensagens de e-mail.

  • Para mais informações, consulte a RFC 2045.

Codificação de anexos

Os protocolos de e-mail transmitem texto, não dados binários. Para transportar arquivos binários, o MIME usa a codificação Base64 para converter bytes brutos em uma representação ASCII segura. Esse processo aumenta o tamanho original do arquivo em aproximadamente 33–37%. Assim, um arquivo de 10 MB passa a ocupar cerca de 13–14 MB após a codificação.

Uma mensagem MIME com anexos usa multipart/mixed como tipo de conteúdo de nível superior. Cada parte é separada por uma string boundary exclusiva e possui seus próprios cabeçalhos. A parte referente ao anexo deve incluir:

Cabeçalho

Descrição

Exemplo

Content-Type

Tipo MIME e nome do arquivo

application/pdf; name="report.pdf"

Content-Disposition

Defina como attachment para que o cliente salve o arquivo em vez de exibi-lo no corpo da mensagem

attachment

Content-Transfer-Encoding

Configure como base64 para anexos de arquivo

base64

O exemplo a seguir mostra uma mensagem MIME completa e mínima com um anexo:

From: sender@example.com
To: recipient@example.com
Subject: Monthly report
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="boundary123"

--boundary123
Content-Type: text/plain; charset="UTF-8"

Please find this month's report attached.

--boundary123
Content-Type: application/pdf; name="report.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="report.pdf"

JVBERi0xLjQKJ...
--boundary123--

Se essa estrutura estiver malformada — por exemplo, com um boundary ausente ou cabeçalho incorreto — os clientes de e-mail poderão exibir arquivos corrompidos ou descartar os anexos silenciosamente.

Nota

O tamanho total de um e-mail com anexos não pode exceder 15 MB. Um e-mail pode conter no máximo 100 anexos.

O limite de 15 MB aplica-se ao tamanho total do e-mail enviado, incluindo cabeçalho, corpo da mensagem e anexos. Como a codificação Base64 aumenta o tamanho dos arquivos, o e-mail final pode ter mais de 1,5 vezes o tamanho dos anexos originais. Portanto, mantenha o tamanho total dos arquivos de anexo originais em até 8 MB. Para enviar arquivos maiores, adicione hiperlinks correspondentes no corpo do e-mail.

Exemplos de código

As páginas a seguir apresentam exemplos funcionais de código SMTP em diversas linguagens. Cada exemplo constrói uma mensagem MIME multipart/mixed e a envia via SMTP.

Para obter códigos de exemplo, consulte:

Exemplo de chamada SMTP para Java

Exemplo de chamada SMTP para Python 3.6 ou posterior

Exemplo de chamada SMTP para C#

Exemplo de chamada SMTP para PHP

Exemplo de chamada SMTP para Node.js