Voltar para Artigos
Back-end6 min de leitura

Garantindo Entrega de E-mails: Fallback Plain Text e Anti-Spam

De nada adianta programar todo o fluxo transacional se seus e-mails chegam na caixa de SPAM do cliente. Aprenda os segredos do Multipart Email e dicas de reputação.

12 de agosto de 2026

Criar templates HTML bonitos, com banners e botões personalizados para a recuperação de senha da sua aplicação, é o padrão visual exigido hoje. Porém, existe uma armadilha silenciosa: os filtros anti-spam (como os do Gmail e Outlook).

O Segredo do Fallback Plain Text

Quando você envia um e-mail apenas com a variante HTML (sem uma contraparte em Texto Puro/Plain Text), os provedores penalizam fortemente a sua mensagem. Os clientes de e-mail de linha de comando ou leitores de tela para acessibilidade exigem texto puro.

Ferramentas como o NodeMailer possuem o formato Multipart/Alternative, onde a mensagem contém os dois formatos embutidos no mesmo envio.

src/shared/providers/MailProvider/implementations/SESMailProvider.ts
import nodemailer from 'nodemailer';
import * as aws from '@aws-sdk/client-ses';

export class SESMailProvider {
  public async sendMail(to: string, subject: string, htmlContent: string, textContent: string) {
    const sesClient = new aws.SES({ region: process.env.AWS_REGION });
    const transporter = nodemailer.createTransport({
      SES: { ses: sesClient, aws },
    });

    await transporter.sendMail({
      from: 'Equipe <noreply@seuapp.com>',
      to,
      subject,
      html: htmlContent, // A versão bonita em HTML
      text: textContent, // OBRIGATÓRIO: O Fallback em Texto puro
    });
  }
}

Se você utiliza motores de template dinâmicos, como o Handlebars, pode compilar o conteúdo em HTML, e em seguida utilizar um pacote como html-to-text para gerar a versão Plain Text de forma 100% automatizada a partir do HTML.

Fatores Adicionais de Reputação

  1. SPF, DKIM e DMARC: Seus DNS devem estar configurados com esses três registros de segurança. O provedor de e-mail que não encontra isso joga sua mensagem instantaneamente no Spam.
  2. Equilíbrio Imagem / Texto: Templates com um banner gigante e um botão isolado são interpretados como e-mail malicioso. Tente manter uma boa proporção de texto real (escrito no HTML) em relação às imagens.
  3. E-mails transacionais vs E-mails em massa: Separe-os. Use um domínio ou subdomínio exclusivo para a sua API transacional (ex: noreply@auth.seuapp.com) e outro para sua equipe de marketing mandar newsletters. Um disparo ruim do marketing pode sujar a reputação do domínio e impedir seus clientes de recuperarem senhas.

Conclusão

Desenvolvimento de e-mails em um projeto robusto vai muito além de codificar um template HTML. Dominar os conceitos de entregabilidade e Multi-part é o que garante que os usuários recebam notificações essenciais da sua plataforma no momento correto.