Pular para o conteúdo principal

Provedor de E-mail para Códigos de Verificação do Casdoor: Brevo SMTP, Resend, SendGrid, ACS Email e SES

· Leitura de 11 min
Yang Luo
Casdoor Maintainer

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.

ProvedorAPI ou SMTPNível gratuito (verificado em 2026-11-02)Configuração do domínio remetenteTipo Casdoor
Seu próprio servidor de correioSMTPVocê gerenciaVocê publica registros SPF, DKIM e DMARC, e precisa de DNS direto e reverso para o IPDefault
Google Workspace (smtp.gmail.com)SMTP com senha de appParte da assinatura Workspace, 2.000 mensagens por diaSeu domínio WorkspaceDefault
Microsoft 365 (smtp.office365.com)SMTP AUTHParte da assinaturaSeu domínio Microsoft 365Default
BrevoRelay SMTP (smtp-relay.brevo.com)300 e-mails por diaRegistros de código (TXT), DKIM e DMARC da BrevoDefault
ResendAPI3.000 e-mails por mês, 100 por diaRegistros SPF e DKIM gerados pela Resend, depois DMARCResend
SendGridAPIPeríodo de teste de 60 dias, 100 e-mails por diaAutenticação de domínio: registros CNAME para SPF e DKIM, TXT para DMARCSendGrid
Azure Communication Services EmailAPINenhum listado; $0,00025 por e-mail mais $0,00012 por MBSubdomínio gerenciado pela Azure, ou um domínio personalizado com SPF e DKIMAzure ACS
Amazon SESInterface SMTPSem cota exclusiva do SES; novas contas AWS recebem créditos Free Tier que o SES pode usarIdentidade verificada para cada endereço FromDefault
Qualquer outra API HTTPHTTPDepende do serviçoDepende do serviçoCustom 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 modo Auto trata.
  • 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.com evita 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​

  1. Vá para Identity > Providers, adicione um provedor, defina Category como Email e escolha o Type da tabela acima.
  2. Defina From address e, opcionalmente, From name.
  3. Write Email title and Email content. The content can use %s for the code, %{user.friendlyName} for the user's name, and %link inside a <reset-link> block for the password reset link. Magic link emails use %link and %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 after verificationCodeTimeout in conf/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.
  4. 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 %s substituído por 123456 e o bloco de link de redefinição removido.
  5. Adicione o provedor à aplicação com uma regra como Signup, Forget Password, Magic link ou All. Você pode usar diferentes provedores para diferentes regras. Consulte Adicionar provedores a uma aplicação.
  6. Defina origin em conf/app.conf. Sem isso, a menos que a solicitação venha de um host de loopback como localhost, 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​