O EmDash usa e-mail para login com link mágico, convites de utilizador e recuperação de conta. Um plugin de fornecedor entrega o correio; escolhe e configura o fornecedor instalando o seu plugin.
Este guia cobre como funciona o pipeline de e-mail, o que obtém pronto a usar em desenvolvimento e como ligar um fornecedor real para produção.
Como funciona a entrega de e-mail
Um único plugin de fornecedor ativo entrega todo o correio de saída. Se nenhum fornecedor estiver ativo, as funcionalidades que precisam de e-mail não estão disponíveis — os links de convite devem então ser copiados e partilhados manualmente da página de Utilizadores.
Pode ver o estado atual em Settings → Email na administração: se um fornecedor está ativo, qual plugin é, e um botão send test email que exercita o pipeline completo.
Desenvolvimento: Fornecedor de consola integrado
Em desenvolvimento (astro dev), o EmDash ativa automaticamente um fornecedor de consola integrado quando nenhum outro fornecedor está selecionado. Não envia nada — regista cada e-mail no terminal e mantém as últimas 100 mensagens na memória.
Isso significa que links mágicos e convites funcionam prontos a usar em desenvolvimento: solicite um link mágico, depois copie o URL da sua saída do terminal. Também pode listar e-mails capturados no endpoint exclusivo de desenvolvimento GET /_emdash/api/dev/emails (e limpá-los com DELETE).
O fornecedor de consola é exclusivo de desenvolvimento e nunca é executado em builds de produção.
Produção: Instalar um plugin de fornecedor
Cloudflare Workers
No Cloudflare, use o plugin cloudflareEmail() de @emdash-cms/cloudflare/plugins. Envia através do Cloudflare Email Sending sobre um binding send_email do Worker, portanto não precisa de conta externa ou chave API. O guia de deployment Cloudflare orienta através do onboarding do domínio remetente, adição do binding e registo do plugin.
Node e outras plataformas
A família de plugins mantida pela comunidade emdash-smtp cobre SMTP genérico mais fornecedores hospedados, incluindo Amazon SES, Brevo, Mailgun, Postmark, Resend, SendGrid, Zoho e mais.
pnpm add emdash-smtp
A seguinte configuração regista o plugin com o EmDash:
import { defineConfig } from "astro/config";
import emdash from "emdash/astro";
import { emdashSmtp } from "emdash-smtp";
export default defineConfig({
integrations: [
emdash({
// ...a sua configuração de base de dados/armazenamento
plugins: [emdashSmtp()],
}),
],
});
As credenciais do fornecedor são configuradas através das próprias definições do plugin — veja o seu README para a matriz de fornecedores e detalhes de configuração.
Onde residem as credenciais do fornecedor
Os plugins de fornecedor declaram as suas chaves API e passwords como definições de plugin. Insira-as na página de definições do plugin na administração; o EmDash armazena-as na base de dados junto com outras definições de plugin, e rodar uma chave significa colar o novo valor lá. Secrets & Key Management descreve o armazenamento e as suas ressalvas.
Se um plugin pode ler um segredo de deployment (wrangler secret put, .env) depende do seu formato, por isso siga o seu README. Plugins sandbox não podem aceder a process.env ou bindings de plataforma. Um plugin nativo pode ler process.env; não deve usar import.meta.env, que é incorporado no momento da compilação e cozinha o valor da máquina de build no bundle.
Selecionar um fornecedor e testar
-
Instale e ative o plugin de fornecedor, depois abra Settings → Email na administração.
-
Se mais de um plugin de fornecedor estiver instalado, escolha o ativo lá — apenas um entrega de cada vez.
-
Use Send test email para verificar o pipeline completo de ponta a ponta. O resultado revela erros de entrega diretamente, que é a forma mais rápida de depurar credenciais.
Resolução de problemas
- “No email provider is configured” — nenhum plugin de fornecedor está ativo. Instale e ative um, depois selecione-o em Settings → Email.
- Links mágicos/convites silenciosamente indisponíveis — mesma causa. Sem fornecedor, a página de Utilizadores ainda cria convites, mas deve copiar o link de convite manualmente.
- Funciona em desenvolvimento, falha em produção — o desenvolvimento usa o fornecedor de consola integrado, que mascara um fornecedor de produção em falta. Verifique Settings → Email no site implementado.
- E-mails chegam ao spam — configure SPF/DKIM/DMARC para o seu domínio de envio no seu fornecedor de e-mail; isto é do lado do fornecedor, não uma definição EmDash.
Relacionado
- Autenticação — links mágicos, convites e fluxos de recuperação que dependem de e-mail
- Referência de hooks de e-mail —
email:beforeSend,email:deliver,email:afterSend