Documentação#
Esta página herda as cores e as fontes do Relay com inherit, mas volta a ser uma página de documentação: chrome: app mostra o caminho de páginas no topo, e anchors: hover devolve o link ao lado de cada título, para quem quer mandar um trecho a alguém.
1. Crie a chave#
No painel, em Chaves, crie uma chave com permissão de envio. Ela aparece uma vez só.
No seu terminal
export RELAY_KEY="re_live_..."
2. Verifique o domínio#
Adicione os três registros que o painel mostra ao DNS do seu domínio:
| Tipo | Nome | Valor |
|---|---|---|
| TXT | @ |
v=spf1 include:relay.exemplo ~all |
| CNAME | relay._domainkey |
dkim.relay.exemplo |
| TXT | _dmarc |
v=DMARC1; p=none |
A verificação costuma levar menos de cinco minutos.
3. Mande o e-mail#
await relay.emails.send({
from: "Ana <[email protected]>",
to: "[email protected]",
subject: "Seu pedido saiu",
markdown: "# Chegou a hora\nO pedido **#4821** está a caminho.",
});
Como um envio anda#
sequenceDiagram
participant App as Seu app
participant API as Relay
participant MX as Caixa do cliente
App->>API: POST /emails
API-->>App: 202 id
API->>MX: SMTP
MX-->>API: 250 aceito
API-->>App: webhook email.delivered
Três registros para não confundir#
Quem configura um domínio pela primeira vez troca os três. Vire cada cartão até saber de cor.
DNS do envio
- Front: SPF Back: Diz quais servidores podem enviar e-mail em nome do domínio. turn
- Front: DKIM Back: Assina cada mensagem; o destinatário confere a assinatura no DNS. turn
- Front: DMARC Back: Diz o que fazer quando SPF ou DKIM falham: nada, quarentena ou rejeitar. turn
- Front: Reverse DNS Back: O IP de envio resolve de volta para um nome que aponta para ele. turn
Antes de ir para produção#
- [ ] Domínio verificado
- [ ] Webhook assinado e testado
- [ ] Chave de teste fora do código de produção
- [ ] Endereço de resposta que alguém lê