Provedor de E-mail para Códigos de Verificação do Casdoor: Brevo SMTP, Resend, SendGrid, ACS Email e SES
O Casdoor envia códigos de verificação de cadastro, links de redefinição de senha e magic links através de um provedor de e-mail (Email provider). Ele possui tipos de API nativos para Resend, SendGrid e Azure Communication Services (ACS) Email, um tipo Default SMTP que funciona com qualquer relay SMTP (seu próprio servidor, Google Workspace, Microsoft 365, Brevo, Amazon SES) e um tipo Custom HTTP Email para qualquer outra API HTTP. Se você deseja um nível gratuito e uma configuração rápida, comece com Resend ou Brevo. Se você já opera na AWS ou Azure, SES ou ACS mantém a cobrança em um só lugar. Independentemente da escolha, o trabalho de entregabilidade é o mesmo: um domínio remetente com SPF e DKIM alinhados ao endereço From.
As opções em resumo
Os níveis gratuitos e preços foram verificados em 2026-11-02 nas páginas de preços próprias de cada fornecedor.
| Provedor | API ou SMTP | Nível gratuito (verificado em 2026-11-02) | Configuração do domínio remetente | Tipo Casdoor |
|---|---|---|---|---|
| Seu próprio servidor de correio | SMTP | Você gerencia | Você publica registros SPF, DKIM e DMARC, e precisa de DNS direto e reverso para o IP | Default |
Google Workspace (smtp.gmail.com) | SMTP com senha de app | Parte da assinatura Workspace, 2.000 mensagens por dia | Seu domínio Workspace | Default |
Microsoft 365 (smtp.office365.com) | SMTP AUTH | Parte da assinatura | Seu domínio Microsoft 365 | Default |
| Brevo | Relay SMTP (smtp-relay.brevo.com) | 300 e-mails por dia | Registros de código (TXT), DKIM e DMARC da Brevo | Default |
| Resend | API | 3.000 e-mails por mês, 100 por dia | Registros SPF e DKIM gerados pela Resend, depois DMARC | Resend |
| SendGrid | API | Período de teste de 60 dias, 100 e-mails por dia | Autenticação de domínio: registros CNAME para SPF e DKIM, TXT para DMARC | SendGrid |
| Azure Communication Services Email | API | Nenhum listado; $0,00025 por e-mail mais $0,00012 por MB | Subdomínio gerenciado pela Azure, ou um domínio personalizado com SPF e DKIM | Azure ACS |
| Amazon SES | Interface SMTP | Sem cota exclusiva do SES; novas contas AWS recebem créditos Free Tier que o SES pode usar | Identidade verificada para cada endereço From | Default |
| Qualquer outra API HTTP | HTTP | Depende do serviço | Depende do serviço | Custom HTTP Email |
A visão geral dos provedores de e-mail na documentação lista os mesmos tipos e os campos usados por cada um.
SMTP: seu próprio servidor, Google Workspace, Microsoft 365
O tipo Default aceita host, porta, nome de usuário e senha. O modo SSL Auto usa TLS implícito na porta 465 e STARTTLS em outras portas, o que cobre quase todos os relays abaixo.
Com seu próprio servidor, SPF, assinatura DKIM, DNS reverso e reputação de IP são suas responsabilidades. O Google exige registros válidos de DNS direto e reverso (PTR) para o IP de envio.
O Google Workspace documenta smtp.gmail.com na porta 465 ou 587, autenticado com o endereço completo do Workspace e uma senha de app, com limite de 2.000 mensagens por dia.
O Microsoft 365 é aquele a evitar para novas configurações. O provedor SMTP do Casdoor autentica com nome de usuário e senha, que é Basic authentication para SMTP AUTH. A Microsoft anunciou planos de aposentar a Basic authentication para SMTP AUTH no Exchange Online e já desativou o SMTP AUTH em tenants que não o utilizavam. Verifique o cronograma mais recente no anúncio abaixo antes de construir sobre ele.
Brevo SMTP
A Brevo envia e-mails transacionais através de um relay SMTP padrão, então usa o tipo Default. A maioria dos problemas de configuração vem do login SMTP da Brevo:
- O servidor é
smtp-relay.brevo.com, na porta 587, 465 ou 2525. A porta 465 requer SSL, que o modoAutotrata. - O login SMTP nem sempre é o e-mail da sua conta. Dependendo de quando a conta foi criada, é o e-mail de login ou um endereço gerado como
[ID]@smtp-brevo.com, e é mostrado na página SMTP da Brevo. Alterar o e-mail da conta não altera isso. - A senha é uma SMTP key, não uma API key.
No Casdoor, defina Type como Default e coloque esses valores em Host, Port, Username e Password. O guia do Brevo tem capturas de tela. Para o domínio, o Brevo solicita seu próprio registro TXT de verificação, DKIM e DMARC; SPF só é necessário com um IP dedicado.
Resend
O tipo Resend precisa apenas de uma API key em Secret key, além de um From address em um domínio verificado. Deixe Host, Port e Username vazios. O Casdoor formata o remetente como Name <address> a partir de From name, ou do nome de exibição da organização quando From name está vazio.
Duas coisas para saber antes de testar. Primeiro, o remetente compartilhado onboarding@resend.dev pode enviar apenas para o endereço de e-mail da sua própria conta Resend; qualquer outro destinatário recebe um erro 403. Segundo, verificar seu próprio domínio significa adicionar os registros SPF e DKIM gerados pelo Resend, e o Resend recomenda enviar a partir de um subdomínio para manter sua reputação separada. O plano gratuito cobre 3.000 e-mails por mês com um limite de 100 por dia; o plano Pro começa em $20 por mês para 50.000. Veja o guia do Resend.
SendGrid
O tipo SendGrid usa uma API key. Deixe Host e Endpoint vazios e o Casdoor usa a API padrão de envio do SendGrid; preencha ambos apenas se você precisar de um endpoint diferente. O Casdoor trata qualquer coisa que não seja 202 Accepted como falha e mostra as mensagens de erro retornadas pelo SendGrid, o que ajuda quando um remetente ainda não foi verificado.
A página de preços do SendGrid lista um teste gratuito de 60 dias com 100 e-mails por dia, depois Essentials a partir de $19,95 por mês. A autenticação de domínio com segurança automatizada adiciona um CNAME para SPF e DKIM e um registro TXT para DMARC. Veja o guia do SendGrid.
ACS Email (Azure Communication Services)
O tipo Azure ACS aceita o endpoint do recurso como Host e a chave de acesso como Secret key; o Casdoor assina cada solicitação com essa chave. O Azure fornece um subdomínio gerenciado com um clique sob azurecomm.net com autenticação já configurada, e a Microsoft sugere usá-lo para desenvolvimento e mudar para um domínio personalizado, com seus registros SPF e DKIM, para o lançamento. Não há nível gratuito na página de preços: $0,00025 por e-mail mais $0,00012 por MB transferido. Veja o guia do Azure ACS.
Amazon SES
O Casdoor não tem um tipo de API SES, então use a interface SMTP do SES com o tipo Default. O host é o endpoint SMTP da Região, como email-smtp.us-east-1.amazonaws.com; o SES aceita STARTTLS nas portas 25, 587 ou 2587 e TLS implícito nas portas 465 ou 2465. O nome de usuário e a senha SMTP são credenciais SMTP que você gera no SES. Eles não são suas chaves de acesso AWS e são diferentes em cada Região.
Novas contas começam no sandbox do SES: o correio vai apenas para endereços verificados, no máximo 200 mensagens por 24 horas e uma por segundo. Solicite acesso à produção antes que usuários reais se cadastrem. O SES cobra $0,10 por 1.000 e-mails de saída na taxa à la carte, sem taxa mínima.
Custom HTTP Email
Para um serviço sem tipo nativo, Custom HTTP Email envia fromAddress, fromName, toAddress (ou toAddresses para vários destinatários), subject e content como corpo de formulário ou JSON, com cabeçalhos que você define. Você pode renomear cada campo para corresponder à API de destino. O Casdoor considera apenas HTTP 200 como sucesso, então uma API que responde 202 Accepted aparece como erro; um pequeno adaptador na frente resolve isso. Veja Enviar e-mail através da sua própria API HTTP.
Fundamentos de entregabilidade para e-mails de autenticação
Códigos de verificação são inúteis se caírem no spam. As regras que importam:
- SPF e DKIM. O Google exige que todo remetente para Gmail use SPF ou DKIM. Acima de 5.000 mensagens por dia, ele exige ambos, mais DMARC (uma política
p=noneé aceita). Configure os três desde o início. - Alinhamento. O domínio no cabeçalho From deve corresponder ao domínio SPF ou ao domínio DKIM, ou o DMARC falha. É por isso que cada provedor faz você verificar o domínio de onde você envia.
- Um subdomínio separado. O Yahoo recomenda separar correio transacional de correio de marketing por IP ou domínio DKIM, e o Resend recomenda subdomínios. Algo como
auth.example.comevita que uma newsletter ruim prejudique suas redefinições de senha. - TLS e taxa de spam. O Google exige TLS e pede que você mantenha a taxa de spam relatada abaixo de 0,3%, idealmente abaixo de 0,1%.
- Nenhum cabeçalho de cancelamento de inscrição necessário. O FAQ do Google diz que o cancelamento de inscrição com um clique se aplica a correio de marketing e cita mensagens de redefinição de senha como exemplo de correio transacional que está excluído.
- Conteúdo simples. O Casdoor envia o template como um único corpo HTML, sem uma parte de texto puro separada, para todos os tipos integrados. Mantenha o HTML leve, coloque o código em texto puro e mostre o link completo como texto ao lado do botão, como faz o e-mail de magic link integrado do Casdoor. Use diretamente a origem do seu Casdoor em vez de um encurtador de link, para que o domínio do link corresponda à sua marca.
Configurar e testar o provedor no Casdoor
- Vá para Identity > Providers, adicione um provedor, defina Category como
Emaile escolha o Type da tabela acima. - Defina From address e, opcionalmente, From name.
- Write Email title and Email content. The content can use
%sfor the code,%{user.friendlyName}for the user's name, and%linkinside a<reset-link>block for the password reset link. Magic link emails use%linkand%expireTime; if your content has no%link, Casdoor sends its own magic link email instead. The templates section has examples. Codes and magic links expire afterverificationCodeTimeoutinconf/app.conf, which defaults to 10 minutes and matches the default template text; if you change the timeout, change the wording in your template too. - Clique em Test SMTP Connection para abrir uma conexão sem enviar (apenas tipos SMTP), depois insira um endereço em Test Email e clique em Send Testing Email. O teste usa os valores no formulário, salvos ou não, com
%ssubstituído por123456e o bloco de link de redefinição removido. - Adicione o provedor à aplicação com uma regra como
Signup,Forget Password,Magic linkouAll. Você pode usar diferentes provedores para diferentes regras. Consulte Adicionar provedores a uma aplicação. - Defina
originemconf/app.conf. Sem isso, a menos que a solicitação venha de um host de loopback comolocalhost, o Casdoor omite o link de redefinição nos e-mails de recuperação de senha e recusa-se a enviar links mágicos. Consulte Entrar com um link mágico.
Para desenvolvimento local, aponte um provedor Default para um servidor SMTP falso em vez de uma conta real; MailHog vs Mailpit cobre essa configuração.
Referências
- Código-fonte do Casdoor:
email/provider.go,object/email.go - Preços da Resend e o erro 403 no resend.dev
- Preços da API de E-mail Twilio SendGrid e autenticação de domínio
- Preços da Brevo e Enviar e-mails transacionais usando SMTP da Brevo
- Preços do Azure Communication Services e domínios de e-mail e autenticação de remetente
- Preços do Amazon SES, endpoints SMTP do SES e saída do sandbox
- Diretrizes do Google para remetentes de e-mail e FAQ
- Melhores práticas para remetentes do Yahoo
- Google Workspace: enviar e-mail de uma impressora, scanner ou aplicativo
- Linha do tempo atualizada para descontinuação da autenticação básica SMTP AUTH do Exchange Online