Pular para o conteúdo principal
Documentação

Envie seu primeiro email

Tutorial ponta a ponta: da criação da conta à entrega confirmada.

1. Crie sua conta

Acesse coffeemail.com.br/signup e crie sua conta em menos de 30 segundos. Você começa com 3.000 emails grátis por mês no plano Free sem cartão de crédito.

2. Crie uma API Key

Vá em Dashboard → Chaves de API → Nova chave. Dê um nome descritivo (ex: 'Produção', 'Staging') e copie o token ele só é exibido uma vez.

3. Adicione um domínio

Em Dashboard → Domínios, adicione o domínio de onde você enviará emails. Siga o guia Verifique seu domínio para configurar SPF, DKIM e DMARC.

Verificar domínio →

4. Envie com o SDK Node

Use o snippet abaixo como ponto de partida. Substitua from por um endereço do seu domínio verificado.

send-first.ts
import { CoffeeMail } from '@coffeemail/node'; const coffeemail = new CoffeeMail(process.env.COFFEEMAIL_API_KEY); const { data, error } = await coffeemail.emails.send({  from: 'noreply@seudominio.com.br',  to: 'cliente@example.com',  subject: 'Confirmação do pedido #123',  html: '<h1>Obrigado!</h1><p>Seu pedido está em processamento.</p>',}); if (error) throw error;console.log('Email enfileirado:', data.id);

5. Acompanhe a entrega

Cada email recebe um id único. Use coffeemail.emails.get(id) para consultar o status e getEvents(id) para ver a timeline completa.

track.ts
const { data } = await coffeemail.emails.get('eml_8f3a2c1b');console.log('Status:', data.status); const { data: events } = await coffeemail.emails.getEvents('eml_8f3a2c1b');console.log('Timeline:', events);

Problemas comuns

  • 401: API Key inválida ou ausente confira se está usando cm_live_... em produção.
  • 403: Domínio do remetente não pertence à organização ou não foi verificado.
  • 429: Rate limit por chave/IP respeite Retry-After e implemente backoff exponencial.
  • Entregabilidade: Email aceito na fila, mas não chega: verifique DKIM, SPF e DMARC no domínio e checar blacklist em domains.getHealth.