Zum Hauptinhalt springen

E-Mail-Anbieter für Casdoor-Verifizierungscodes: Brevo SMTP, Resend, SendGrid, ACS Email und SES

· 11 Minuten Lektüre
Yang Luo
Casdoor Maintainer

Casdoor sendet Anmeldeverifizierungscodes, Link zum Zurücksetzen des Passworts und Magic Links über einen E-Mail-Anbieter. Es gibt native API-Typen für Resend, SendGrid und Azure Communication Services (ACS) Email, einen Default-SMTP-Typ, der mit jedem SMTP-Relay funktioniert (Ihr eigener Server, Google Workspace, Microsoft 365, Brevo, Amazon SES), sowie einen Custom HTTP Email-Typ für jede andere HTTP-API. Wenn Sie ein kostenloses Kontingent und eine kurze Einrichtung wünschen, beginnen Sie mit Resend oder Brevo. Wenn Sie bereits auf AWS oder Azure laufen, halten SES oder ACS die Abrechnung an einem Ort. Egal, welchen Anbieter Sie wählen, die Arbeit an der Zustellbarkeit ist dieselbe: eine Absenderdomain mit SPF- und DKIM-Einträgen, die zur From-Adresse passen.

Die Optionen auf einen Blick​

Die kostenlosen Kontingente und Preise wurden am 2026-11-02 auf den jeweiligen Preisseiten der Anbieter überprüft.

AnbieterAPI oder SMTPKostenloses Kontingent (geprüft am 2026-11-02)Einrichtung der AbsenderdomainCasdoor-Typ
Ihr eigener MailserverSMTPSie betreiben ihnSie veröffentlichen SPF-, DKIM- und DMARC-Einträge und benötigen Vorwärts- und Rückwärts-DNS für die IPDefault
Google Workspace (smtp.gmail.com)SMTP mit App-PasswortTeil des Workspace-Abonnements, 2.000 Nachrichten pro TagIhre Workspace-DomainDefault
Microsoft 365 (smtp.office365.com)SMTP AUTHTeil des AbonnementsIhre Microsoft 365-DomainDefault
BrevoSMTP-Relay (smtp-relay.brevo.com)300 E-Mails pro TagBrevo-Code (TXT), DKIM- und DMARC-EinträgeDefault
ResendAPI3.000 E-Mails pro Monat, 100 pro TagVon Resend generierte SPF- und DKIM-Einträge, dann DMARCResend
SendGridAPI60-tägige Testphase, 100 E-Mails pro TagDomain-Authentifizierung: CNAME-Einträge für SPF und DKIM, TXT für DMARCSendGrid
Azure Communication Services EmailAPINicht angegeben; $0,00025 pro E-Mail plus $0,00012 pro MBAzure-verwaltete Subdomain oder eine benutzerdefinierte Domain mit SPF und DKIMAzure ACS
Amazon SESSMTP-SchnittstelleKein SES-spezifisches Kontingent; neue AWS-Konten erhalten Free Tier-Guthaben, die SES nutzen kannÜberprüfte Identität für jede From-AdresseDefault
Jede andere HTTP-APIHTTPAbhängig vom DienstAbhängig vom DienstCustom HTTP Email

Der Überblick über E-Mail-Anbieter in der Dokumentation listet dieselben Typen und die Felder auf, die jeder verwendet.

SMTP: Ihr eigener Server, Google Workspace, Microsoft 365​

Der Default-Typ akzeptiert Host, Port, Benutzername und Passwort. Der SSL-Modus Auto verwendet implizites TLS auf Port 465 und STARTTLS auf anderen Ports, was fast jedes unten genannte Relay abdeckt.

Bei Ihrem eigenen Server liegen SPF, DKIM-Signierung, Reverse DNS und IP-Reputation vollständig in Ihrer Hand. Google erfordert gültige Vorwärts- und Rückwärts-DNS-(PTR)-Einträge für die sendende IP.

Google Workspace dokumentiert smtp.gmail.com auf Port 465 oder 587, Anmeldung mit der vollständigen Workspace-Adresse und einem App-Passwort, mit einer Grenze von 2.000 Nachrichten pro Tag.

Microsoft 365 ist der Anbieter, den man bei neuen Setups vermeiden sollte. Casdoors SMTP-Anbieter meldet sich mit Benutzername und Passwort an, was Basic Authentication für SMTP AUTH ist. Microsoft hat Pläne angekündigt, Basic Authentication für SMTP AUTH in Exchange Online einzustellen, und hat SMTP AUTH bereits in Mandanten deaktiviert, die es nicht nutzten. Prüfen Sie den neuesten Zeitplan in der untenstehenden Ankündigung, bevor Sie darauf aufbauen.

Brevo SMTP​

Brevo versendet transaktionale E-Mails über ein Standard-SMTP-Relay, daher wird der Default-Typ verwendet. Die meisten Einrichtungsprobleme entstehen durch den Brevo-SMTP-Login:

  • Der Server ist smtp-relay.brevo.com, auf Port 587, 465 oder 2525. Port 465 benötigt SSL, was Auto handhabt.
  • Der SMTP-Login ist nicht immer Ihre Konto-E-Mail. Je nachdem, wann das Konto erstellt wurde, ist es entweder Ihre Login-E-Mail oder eine generierte Adresse wie [ID]@smtp-brevo.com, und sie wird auf der SMTP-Seite in Brevo angezeigt. Das Ändern Ihrer Konto-E-Mail ändert dies nicht.
  • Das Passwort ist ein SMTP-Schlüssel, kein API-Schlüssel.

Legen Sie in Casdoor den Type auf Default fest und tragen Sie diese Werte unter Host, Port, Username und Password ein. Der Brevo-Leitfaden enthält Screenshots. Für die Domain verlangt Brevo seinen eigenen TXT-Verifizierungseintrag, DKIM und DMARC; SPF wird nur bei einer dedizierten IP benötigt.

Resend​

Der Typ Resend benötigt nur einen API-Schlüssel im Feld Secret key, plus eine From address auf einer verifizierten Domain. Lassen Sie Host, Port und Username leer. Casdoor formatiert den Absender als Name <address> aus dem From name, oder aus dem Anzeigenamen der Organisation, wenn From name leer ist.

Zwei Dinge sollten Sie vor dem Testen wissen. Erstens kann der gemeinsame Absender onboarding@resend.dev nur an die E-Mail-Adresse Ihres eigenen Resend-Kontos senden; jeder andere Empfänger erhält eine 403-Fehlermeldung. Zweitens bedeutet die Verifizierung Ihrer eigenen Domain das Hinzufügen der von Resend generierten SPF- und DKIM-Einträge, und Resend empfiehlt, über eine Subdomain zu senden, um den Ruf getrennt zu halten. Der kostenlose Plan umfasst 3.000 E-Mails pro Monat mit einer Obergrenze von 100 pro Tag; der Pro-Plan beginnt bei $20 pro Monat für 50.000 E-Mails. Siehe den Resend-Leitfaden.

SendGrid​

Der Typ SendGrid verwendet einen API-Schlüssel. Lassen Sie Host und Endpoint leer, und Casdoor nutzt die Standard-Send-API von SendGrid; füllen Sie beide nur aus, wenn Sie einen anderen Endpoint benötigen. Casdoor betrachtet alles außer 202 Accepted als Fehler und zeigt die von SendGrid zurückgegebenen Fehlermeldungen an, was hilfreich ist, wenn ein Absender noch nicht verifiziert wurde.

Die Preisseite von SendGrid listet eine 60-tägige kostenlose Testversion mit 100 E-Mails pro Tag, danach Essentials ab $19,95 pro Monat. Die Domänenauthentifizierung mit automatisierter Sicherheit fügt einen CNAME für SPF und DKIM sowie einen TXT-Eintrag für DMARC hinzu. Siehe den SendGrid-Leitfaden.

ACS Email (Azure Communication Services)​

Der Typ Azure ACS erwartet den Ressourcen-Endpoint als Host und den Zugriffsschlüssel als Secret key; Casdoor signiert jede Anfrage mit diesem Schlüssel. Azure bietet Ihnen eine verwaltete Subdomain unter azurecomm.net mit bereits eingerichteter Authentifizierung per Klick, und Microsoft schlägt vor, diese für die Entwicklung zu nutzen und zum Start auf eine eigene Domain umzustellen, einschließlich ihrer SPF- und DKIM-Einträge. Es gibt keinen kostenlosen Tarif auf der Preisseite: $0,00025 pro E-Mail plus $0,00012 pro übertragenes MB. Siehe den Azure ACS-Leitfaden.

Amazon SES​

Casdoor hat keinen SES-API-Typ, daher verwenden Sie das SES SMTP-Interface mit dem Typ Default. Der Host ist der SMTP-Endpoint der Region, z. B. email-smtp.us-east-1.amazonaws.com; SES akzeptiert STARTTLS auf Port 25, 587 oder 2587 und implizites TLS auf Port 465 oder 2465. Der SMTP-Benutzername und das -Passwort sind SMTP-Zugangsdaten, die Sie in SES generieren. Es handelt sich dabei nicht um Ihre AWS-Zugriffsschlüssel, und sie unterscheiden sich je nach Region.

Neue Kontos beginnen in der SES-Sandbox: E-Mails werden nur an verifizierte Adressen gesendet, maximal 200 Nachrichten innerhalb von 24 Stunden und eine pro Sekunde. Beantragen Sie Produktionszugriff, bevor sich echte Benutzer anmelden. SES berechnet $0,10 pro 1.000 ausgehende E-Mails zum Einzelratenpreis, ohne Mindestgebühr.

Custom HTTP Email​

Für einen Dienst ohne nativen Typ sendet Custom HTTP Email fromAddress, fromName, toAddress (oder toAddresses für mehrere Empfänger), subject und content als Formular- oder JSON-Body, zusammen mit definierten Headern. Sie können jedes Feld umbenennen, um es an die Ziel-API anzupassen. Casdoor zählt nur HTTP 200 als Erfolg, daher wird eine API, die 202 Accepted antwortet, als Fehler angezeigt; ein kleiner Adapter davor behebt dies. Siehe E-Mail über Ihre eigene HTTP-API senden.

Grundlagen der Zustellbarkeit für Auth-E-Mails​

Verifizierungscodes sind nutzlos, wenn sie im Spam landen. Die wichtigsten Regeln:

  • SPF und DKIM. Google verlangt von jedem Absender an Gmail die Verwendung von SPF oder DKIM. Ab 5.000 Nachrichten pro Tag sind beide erforderlich, plus DMARC (eine p=none-Richtlinie wird akzeptiert). Richten Sie alle drei von Anfang an ein.
  • Alignment. Die Domain im From-Header muss mit der SPF-Domain oder der DKIM-Domain übereinstimmen, sonst schlägt DMARC fehl. Deshalb müssen Sie bei jedem Anbieter die Domain verifizieren, von der Sie senden.
  • Eine separate Subdomain. Yahoo empfiehlt, Transaktionsmails von Marketing-Mails durch IP oder DKIM-Domain zu trennen, und Resend empfiehlt Subdomains. Eine Subdomain wie auth.example.com verhindert, dass ein schlechter Newsletter Ihre Passwort-Zurücksetzungen beeinträchtigt.
  • TLS und Spam-Rate. Google verlangt TLS und fordert Sie auf, die gemeldete Spam-Rate unter 0,3 %, idealerweise unter 0,1 % zu halten.
  • Kein Unsubscribe-Header nötig. Die FAQ von Google besagt, dass One-Click-Unsubscribe für Marketing-Mails gilt, und nennt Passwort-Zurücksetzungsnachrichten als Beispiel für ausgeschlossene Transaktionsmails.
  • Einfacher Inhalt. Casdoor sendet die Vorlage als einzigen HTML-Body, ohne separaten Textteil, für jeden integrierten Typ. Halten Sie das HTML leichtgewichtig, setzen Sie den Code als Klartext und zeigen Sie den vollständigen Link als Text neben der Schaltfläche an, wie es die integrierte Magic-Link-E-Mail von Casdoor tut. Verwenden Sie direkt Ihre Casdoor-Origin statt eines Link-Kürzers, damit die Link-Domain mit Ihrer Marke übereinstimmt.

Anbieter in Casdoor konfigurieren und testen​

  1. Gehen Sie zu Identity > Providers, fügen Sie einen Provider hinzu, setzen Sie die Category auf Email und wählen Sie den Type aus der obigen Tabelle.
  2. Legen Sie From address und optional From name fest.
  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. Klicken Sie auf Test SMTP Connection, um eine Verbindung herzustellen, ohne etwas zu senden (nur SMTP-Typen), geben Sie dann eine Adresse in Test Email ein und klicken Sie auf Send Testing Email. Der Test verwendet die Werte im Formular, gespeichert oder nicht, wobei %s durch 123456 ersetzt und der Reset-Link-Block entfernt wird.
  5. Fügen Sie den Provider der Anwendung mit einer Regel wie Signup, Forget Password, Magic link oder All hinzu. Sie können verschiedene Provider für unterschiedliche Regeln verwenden. Weitere Informationen finden Sie unter Provider zu einer Anwendung hinzufügen.
  6. Legen Sie origin in conf/app.conf fest. Ohne diese Einstellung lässt Casdoor den Reset-Link aus E-Mails zur Passwortzurücksetzung weg und verweigert das Senden von Magic Links, es sei denn, die Anfrage kommt über einen Loopback-Host wie localhost. Weitere Informationen finden Sie unter Anmeldung mit einem Magic Link.

Verwenden Sie für die lokale Entwicklung einen Default-Provider, der auf einen Fake-SMTP-Server zeigt, anstelle eines echten Kontos; MailHog vs Mailpit behandelt diese Einrichtung.

Referenzen​