> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Adicionar o email com Resend

Crie uma conta Resend gratuita, verifique um domínio de envio e mude EMAIL_PROVIDER para que códigos e recibos cheguem a caixas de entrada reais.

## Passo a passo para iniciantes

Pré-requisitos: a app a correr em local (Online em 5 minutos). Comece grátis — sem cartão, e o nível gratuito da Resend cobre os volumes de desenvolvimento.

Terminologia rápida: `EMAIL_PROVIDER=local` é o predefinido — as mensagens são escritas na página incorporada `/mail-preview` e nunca saem da sua máquina, o que é perfeito enquanto constrói. A Resend é o adaptador que entrega em caixas de entrada reais. `EMAIL_FROM` é a identidade de remetente que os templates usam; o seu endereço tem de estar num domínio que a Resend verificou. Os registos DNS são as linhas que cola no seu registrador ou na Cloudflare para que as caixas recetoras confiem no seu remetente.

O que cria: uma conta Resend, um domínio de envio verificado e uma chave de API — o passo do domínio é a única parte de espera, já que a propagação de DNS vai de minutos a horas.

[Configurar a base de dados](https://supastack.dev/pt/docs/web/setup-database.md)


## Criar a conta Resend

1. Abra [resend.com](https://resend.com) → Sign up, confirme o seu email e chega ao painel.

2. Comece com o nível gratuito — pode até enviar correio de teste a partir do remetente partilhado da Resend antes de ter um domínio, que é o que a secção seguinte cobre.


## Verificar o seu domínio de envio

Teste rápido sem domínio: o endereço `onboarding@resend.dev` funciona imediatamente como `EMAIL_FROM` — mas só entrega ao email com que se registou, nunca a utilizadores. Use-o para ver o pipeline a funcionar e depois faça a configuração real.

1. Abra Domains → Add Domain e introduza o domínio a partir do qual envia (por exemplo `yourdomain.com`; um subdomínio como `mail.yourdomain.com` também funciona e mantém os registos arrumados).

2. A Resend lista os registos DNS a criar — registos TXT DKIM mais entradas MX/SPF ou CNAME consoante a idade da conta. Adicione cada um no seu anfitrião de DNS: a página de DNS do seu registrador, ou a Cloudflare se moveu os nameservers. Na Cloudflare mantenha a nuvem do proxy cinzenta (DNS only) para os registos de correio — registos com proxy nunca verificam.

3. De volta na Resend clique em Verify. Esperado: o domínio passa a Verified. A propagação varia de minutos a um dia; a página do domínio nomeia o registo exato que ainda não resolve.

Uma vez verificado, qualquer endereço do domínio funciona como remetente — `hello@`, `no-reply@`, o que `EMAIL_FROM` usar — sem registo por endereço.


## Criar a chave de API

1. Abra API Keys → Create API Key.

2. Permission: Sending access chega — o kit só envia. Dê à chave o nome do seu ambiente (`production`, `local`) para que uma chave de dev exposta possa ser revogada sem tocar na produção.

3. Copie a chave `re_…` agora — é mostrada uma vez. Perdê-la significa apenas criar outra.


## Adicionar os valores à app

Preencha as linhas abaixo em `apps/web/.env.local`. `RESEND_API_KEY` é apenas do servidor — nunca `NEXT_PUBLIC_`/`EXPO_PUBLIC_`, nunca commitada; `EMAIL_PROVIDER` e `EMAIL_FROM` são configuração simples. Reinicie o servidor de desenvolvimento depois de editar.

`EMAIL_FROM` tem de estar no domínio verificado: `onboarding@resend.dev` só chega ao seu próprio endereço de registo, e um domínio não verificado recebe uma rejeição 403 da Resend.

```
# apps/web/.env.local
EMAIL_PROVIDER=resend
EMAIL_FROM="Your Product <hello@yourdomain.com>"
RESEND_API_KEY=re_…
```


## Verificar e resolver problemas

Reinicie, abra `/auth` e peça um código de início de sessão para uma caixa de entrada real que controle. Esperado: a mensagem chega, e Resend → Emails mostra a entrega com estado verde — esse registo é também onde vivem os motivos de bounce e erro.

Nada enviado? Verifique que `EMAIL_PROVIDER=resend` ficou mesmo guardado em `apps/web/.env.local` e reinicie. Um 403 no registo do servidor significa que `EMAIL_FROM` não está no domínio verificado — ou que `onboarding@resend.dev` foi enviado a alguém que não você.

Outro provedor mais tarde? `EMAIL_PROVIDER` também aceita `ses` (com as chaves AWS) e os transportes `postmark`, `sendgrid`, `mailgun`, `smtp`, `brevo` — mesmo contrato `EMAIL_FROM`, nomes env diferentes, todos listados em `.env.example`. O guia de email compara-os.

[Comparar os provedores de email](https://supastack.dev/pt/docs/web/setup-email.md)

[Recolher a seguir as chaves de provedor restantes](https://supastack.dev/pt/docs/web/provider-keys.md)


Para continuar a configuração, leia [Configurar e-mail do Amazon SES](https://supastack.dev/pt/docs/web/aws-ses.md).


## Seguinte

[Configurar e-mail do Amazon SES](https://supastack.dev/pt/docs/web/aws-ses.md)
