DE · AT · CHAnleitung

Odoo-Mails kommen nicht an: SPF, DKIM, DMARC

Aktualisiert:

Gilt für: Odoo 20.0 Community und Enterprise; Odoo Online, Odoo.sh und On-Premise; Modul mail; Versand über Odoo-Mailserver oder eigenen SMTP-Server

Kurz gesagt

Fehlende SPF-, DKIM- oder DMARC-Einträge sind eine mögliche Ursache für Spam-Einordnung oder Ablehnung von Mails aus Odoo; die Zustellung entscheidet der Empfänger (RFC 7489 Abschnitt 6.7). Die Einträge stehen in der DNS-Zone der Absenderdomain; in Deutschland, Österreich und der Schweiz gilt dieselbe Technik. Beim Versand über den Odoo-Mailserver prüft der Empfänger SPF gegen die Umschlagadresse aus dem Feld Alias-Domain.

Das Wichtigste

  • Odoo 20.0: Beim Versand über den Odoo-Mailserver prüft der Empfänger SPF an der Bounce-Adresse aus dem Feld Alias-Domain der Allgemeinen Einstellungen; die Standardadressen baut Odoo aus dieser Domain.
  • SPF ist ein TXT-Eintrag; laut RFC 7208 Abschnitt 4.5 darf eine Domain nur einen Eintrag mit v=spf1 führen.
  • DKIM beim Versand über den Odoo-Mailserver aus eigener Domain: CNAME von odoo._domainkey.IhreDomain auf odoo._domainkey.odoo.com (Selektor odoo).
  • DMARC steht als TXT-Eintrag unter _dmarc.IhreDomain; die Policy lautet p=none, p=quarantine oder p=reject (RFC 7489 Abschnitt 6.3).
  • Bei eigenem Postausgangsserver gelten dessen SPF- und DKIM-Vorgaben, nicht die Einträge für den Odoo-Mailserver.
  • Odoo Online und Odoo.sh senden unter einer odoo.com-Standardadresse laut Dokumentation 20.0 bereits authentifiziert.

Was Sie vorab brauchen

Drei DNS-Einträge beeinflussen, ob ein fremder Mailserver Ihre Nachrichten annimmt: SPF, DKIM und DMARC. Diese Dinge sollten Sie vorher zur Hand haben:

  • Schreibrechte auf die DNS-Zone der Absenderdomain, beim Registrar oder beim Anbieter der Zone, für TXT- und CNAME-Einträge.
  • Die Domain, unter der Ihre Datenbank schreiben soll, und die Stelle, an der sie in Odoo eingetragen ist.
  • Ein Testpostfach bei einem fremden Anbieter, dessen Kopfzeilen Sie im Quelltext der Nachricht lesen können.
  • Administratorrechte in Odoo für Einstellungen ‣ Allgemeine Einstellungen.
  • Bei eigenem Postausgangsserver: Zugangsdaten und DNS-Vorgaben dieses Anbieters.

Nutzt Ihre Datenbank auf Odoo Online oder Odoo.sh die Standardadresse firmenname.odoo.com und bleiben die Mailing-Einstellungen auf der Voreinstellung, müssen Sie nichts eintragen: Diese Subdomain nutzt nach der Dokumentation 20.0 die DNS-Konfiguration von Odoo und versendet damit bereits nach SPF, DKIM und DMARC authentifiziert. Eine eigene Domain liegt dagegen in Ihrer DNS-Zone, und dort fehlen die Belege so lange, bis Sie sie anlegen. Für die Domain selbst sind die Themen Eigene Domain und SSL-Zertifikat und E-Mail-Eingang und Aliase getrennt beschrieben.

Was die drei Prüfungen messen

Ein Empfänger kann nicht wissen, ob eine Mail wirklich von Ihnen kommt. Drei Verfahren liefern ihm Belege, und jedes liest dafür einen anderen DNS-Eintrag.

Für Zustellungen an private Gmail-Konten verlangt Google seit dem 1. Februar 2024 von jedem Absender SPF oder DKIM; wer dort mehr als 5.000 Nachrichten pro Tag zustellt, muss SPF und DKIM einrichten und zusätzlich DMARC (Gmail-Hilfe, abgerufen am 14. Oktober 2026). Das ist eine Vorgabe des Postfachanbieters, kein Gesetz, und andere Anbieter handhaben es nach eigenen Regeln.

Prüfung Was sie belegt Wo der Eintrag steht Beitrag von Odoo
SPF dass der sendende Server für die Domain im Umschlagabsender (MAIL FROM) zugelassen ist (RFC 7208 Abschnitt 2.4) TXT-Eintrag im Domain-Apex, ein Eintrag, der mit v=spf1 beginnt (RFC 7208 Abschnitt 3.1) beim Versand über den Odoo-Mailserver: include:_spf.odoo.com im SPF-Eintrag; mit eigenem SMTP-Server die Anweisung dieses Anbieters
DKIM dass die Nachricht signiert und unterwegs unverändert geblieben ist (RFC 6376 Abschnitt 1) Eintrag unter selektor._domainkey.domain, beim Versand über den Odoo-Mailserver also odoo._domainkey.ihr-unternehmen.de (RFC 6376 Abschnitt 3.6.2.1) beim Versand über den Odoo-Mailserver: Signatur mit dem Selektor odoo; mit eigenem SMTP-Server gelten dessen Werte
DMARC dass SPF oder DKIM besteht und die geprüfte Domain zur Absenderdomain passt (RFC 7489 Abschnitt 3.1) TXT-Eintrag unter _dmarc.ihr-unternehmen.de (RFC 7489 Abschnitt 6.1) keine Vorgabe; die Policy bestimmen Sie

Für SPF zählt die Domain im Umschlagabsender (MAIL FROM) oder im HELO-Namen, nicht die sichtbare Absenderzeile (RFC 7208 Abschnitt 2.2). Sendet eine Datenbank über den Odoo-Mailserver, bildet Odoo diesen Umschlagabsender aus dem Feld Alias-Domain; dort setzt der Empfänger mit der SPF-Prüfung an (Dokumentation 20.0). Bei einem eigenen Postausgangsserver gilt der Umschlagabsender dieses Servers. Endet der Eintrag mit ~all, ergibt die Prüfung für einen nicht anderweitig zugelassenen Server Softfail: RFC 7208 Abschnitt 8.5 empfiehlt Empfängern, eine solche Mail nicht allein deswegen abzulehnen, sie aber genauer zu prüfen.

Eine Domain darf mehrere TXT-Einträge haben, aber nur einen, der mit v=spf1 beginnt. Liefert die Zone mehr als einen solchen Eintrag, ergibt die Prüfung Permerror (RFC 7208 Abschnitt 4.5).

Schritt für Schritt: die Absenderdomain authentifizieren

Schritt 1: Alias-Domain in Odoo festlegen

Öffnen Sie Einstellungen ‣ Allgemeine Einstellungen und tragen Sie im Firmendatensatz unter Alias-Domain (Alias Domain) Ihre Domain ein, zum Beispiel ihr-unternehmen.de. Speichern Sie. Danach enden die Standardadressen auf Ihrer Domain, etwa notifications@ihr-unternehmen.de. Im Entwicklermodus sehen Sie zusätzlich Unzustellbarkeitsalias (Bounce Alias), Catchall-Alias (Catchall Alias) und Standardabsenderalias (Default From Alias). Endzustand: Die Standardadressen, die Odoo versendet, gehören zu Ihrer Domain; ein eigener Postausgangsserver ersetzt sie über seinen FROM-Filter, und Vorlagen sowie Marketingkampagnen können ein eigenes Absenderfeld tragen. Die deutschen Feldnamen entsprechen der Übersetzung im Community-Zweig 20.0.

Schritt 2: SPF-Eintrag anlegen oder ergänzen

Diese Werte gelten für den Versand über den Odoo-Mailserver; senden Sie über einen eigenen SMTP-Server, tragen Sie die SPF-Anweisung Ihres Anbieters ein (Schritt 5). Prüfen Sie zuerst, ob die Zone bereits einen Eintrag mit v=spf1 enthält. Ist keiner vorhanden, legen Sie im Domain-Apex einen TXT-Eintrag mit dem Wert v=spf1 include:_spf.odoo.com ~all an. Ist bereits einer vorhanden, ändern Sie ihn und tragen die Anweisung include:_spf.odoo.com zusätzlich ein. Ein zweiter neuer SPF-Eintrag neben dem bestehenden führt zu Permerror. Ein vorhandener Eintrag v=spf1 include:_spf.google.com ~all wird damit zu v=spf1 include:_spf.odoo.com include:_spf.google.com ~all. Endzustand: Genau ein SPF-Eintrag in der Zone; er nennt beim Versand über den Odoo-Mailserver include:_spf.odoo.com, mit eigenem SMTP-Server die Anweisung des Anbieters.

Schritt 3: DKIM-Eintrag anlegen

Dieser Schritt gilt für den Versand über den Odoo-Mailserver mit einer eigenen Domain; senden Sie über einen eigenen SMTP-Server, verwenden Sie dessen DKIM-Vorgaben (Schritt 5). Legen Sie einen CNAME-Eintrag mit dem Namen odoo._domainkey an, der auf odoo._domainkey.odoo.com. zeigt. odoo ist der Selektor, den der Odoo-Mailserver verwendet; der Empfänger holt den öffentlichen Schlüssel später unter diesem Namen. Für den Versand aus einer eigenen Domain über den Odoo-Mailserver verlangt die Dokumentation 20.0 diesen Eintrag. Endzustand: Eine Abfrage des CNAME liefert den Odoo-Zielnamen.

Schritt 4: DMARC-Eintrag anlegen

Legen Sie unter _dmarc einen TXT-Eintrag an, etwa v=DMARC1; p=none; rua=mailto:postmaster@ihr-unternehmen.de. Mit p=none verlangen Sie noch keine bestimmte Behandlung fehlgeschlagener Mails; die unter rua genannte Adresse erhält Sammelberichte. Erst wenn Sie aus den Berichten wissen, welche Systeme unter Ihrer Domain senden, stellen Sie auf p=quarantine oder p=reject um (RFC 7489 Abschnitt 6.3). Beachten Sie die Ausrichtung: DMARC besteht nur, wenn SPF oder DKIM besteht und die geprüfte Domain zur Absenderdomain passt (RFC 7489 Abschnitt 3.1). Endzustand: Eine Abfrage von _dmarc.ihr-unternehmen.de liefert einen v=DMARC1-Wert.

Schritt 5: Eigenen Postausgangsserver einbeziehen

Senden Sie nicht über den Odoo-Mailserver, sondern über einen eigenen SMTP-Server, gelten die SPF- und DKIM-Vorgaben dieses Anbieters zusammen mit einer eigenen Domain (Dokumentation 20.0). Tragen Sie den Server unter Einstellungen ‣ Allgemeine Einstellungen im Abschnitt E-Mails ein: Benutzerdefinierte E-Mail-Server verwenden (Use Custom Email Servers) aktivieren, speichern, dann Postausgangsserver (Outgoing Email Servers) öffnen und den Server anlegen. Nutzen Sie die Schaltfläche Testverbindung (Test Connection); ein erfolgreicher Test beweist keine Zustellung. Versenden Sie Transaktions- und Massenmails über getrennte Server, prüfen Sie die Einträge für jeden dieser Wege.

Beispielhafte DNS-Einträge

Die folgende Übersicht zeigt die drei Einträge für die Beispiel-Domain ihr-unternehmen.de; ersetzen Sie den Namen durch Ihre Domain. Die Werte sind Beispiele aus der Odoo-Dokumentation 20.0 und gelten für den Versand über den Odoo-Mailserver; bei einem eigenen SMTP-Server gibt Ihr Anbieter eigene SPF- und DKIM-Werte vor.

Typ Name Wert Zweck
TXT ihr-unternehmen.de (@) v=spf1 include:_spf.odoo.com ~all erlaubt den Odoo-Mailserver für den Umschlagabsender; gilt nur für den Versand über den Odoo-Mailserver, mit eigenem SMTP-Server die SPF-Anweisung des Anbieters
CNAME odoo._domainkey odoo._domainkey.odoo.com. stellt den öffentlichen DKIM-Schlüssel unter dem Selektor odoo bereit
TXT _dmarc v=DMARC1; p=none; rua=mailto:postmaster@ihr-unternehmen.de Policy und Berichtsadresse für DMARC

Existiert bereits ein SPF-Eintrag, ist er zu ergänzen statt zu ersetzen; die übrigen Dienste, die über Ihre Domain senden, müssen in derselben Zeile stehen bleiben.

So prüfen Sie das Ergebnis

  1. Fragen Sie die Einträge ab der Kommandozeile ab: dig +short TXT ihr-unternehmen.de, dig +short CNAME odoo._domainkey.ihr-unternehmen.de und dig +short TXT _dmarc.ihr-unternehmen.de. Zählen Sie die SPF-Zeilen; es muss genau eine sein.
  2. Wiederholen Sie die Abfragen, bis Ihr DNS-Anbieter den neuen Wert ausliefert.
  3. Senden Sie aus Odoo eine Testmail an das Testpostfach bei einem fremden Anbieter; ein Angebot oder eine Rechnung aus dem Chatter genügt.
  4. Öffnen Sie im Testpostfach den Quelltext der Nachricht und suchen Sie die Zeile Authentication-Results. Erwartet sind dort spf=pass, dkim=pass und dmarc=pass für Ihre Domain. Steht dort dmarc=fail, obwohl SPF besteht, fehlt die Ausrichtung zur Absenderdomain.
  5. Prüfen Sie den DKIM-Eintrag zusätzlich mit einer Schlüsselabfrage: Beim Versand über den Odoo-Mailserver fragen Sie den Selektor odoo ab, bei einem eigenen SMTP-Server den Selektor Ihres Anbieters. Senden Sie eine zweite Testmail an einen Prüfdienst, der die Kopfdaten der ganzen Nachricht auswertet; die Odoo-Dokumentation 20.0 empfiehlt dafür ein solches Werkzeug, ohne eines festzulegen.

Wenn etwas nicht klappt

Symptom Ursache Abhilfe
SPF meldet Permerror zwei TXT-Einträge beginnen mit v=spf1 (RFC 7208 Abschnitt 4.5) beide zu einem Eintrag zusammenführen
dkim=none oder dkim=fail beim Versand über den Odoo-Mailserver: kein CNAME oder falscher Selektor; bei eigenem SMTP-Server: abweichende Vorgaben des Anbieters CNAME odoo._domainkey.ihre-domain.de auf odoo._domainkey.odoo.com. setzen und Selektor odoo prüfen; bei eigenem SMTP-Server die Werte des Anbieters eintragen
dmarc=fail, obwohl spf=pass oder dkim=pass die geprüfte Domain passt nicht zur Absenderdomain (RFC 7489 Abschnitt 3.1) Absenderdomain und Alias-Domain in Odoo deckungsgleich machen
Mail im Spam, obwohl alle drei Prüfungen bestehen lokale Entscheidung des Empfängers (RFC 7489 Abschnitt 6.7) Inhalt, Anhänge und Empfängerliste prüfen, nicht nur die Einträge
Versand über eigenen SMTP-Server schlägt fehl in Odoo fehlen Serverdaten oder dessen DNS-Einträge Vorgaben des Anbieters eintragen und Verbindungstest wiederholen
Standardabsenderadresse (notifications@, catchall@, bounce@) endet weiter auf odoo.com Alias-Domain nicht gesetzt oder nicht gespeichert Alias-Domain im Firmendatensatz setzen und Speichern bestätigen
Eine einzelne Mail trägt eine andere Absenderadresse als die Standardadresse FROM-Filter eines eigenen Postausgangsservers oder ein eigenes Absenderfeld in Vorlage oder Marketingkampagne FROM-Filter nach Vorgabe des Anbieters setzen beziehungsweise das Absenderfeld in Vorlage und Kampagne prüfen

Wann Sie Hilfe holen sollten

Liegt die DNS-Zone bei einem Dienstleister, lassen Sie Einträge von dort ändern, statt selbst einzugreifen; eine falsch zusammengeführte SPF-Zeile kann andere Dienste Ihrer Domain lahmlegen. Zeigen die DMARC-Sammelberichte Absender, die Sie nicht kennen, klären Sie das mit Ihrer IT, bevor Sie die Policy verschärfen. Für Fragen zum Postfach selbst, etwa zu OAuth-Anbindungen an einen Cloud-Anbieter, hilft Cloud-Postfächer per OAuth anbinden.

Häufige Fragen

Wir senden über unseren eigenen SMTP-Server. Brauchen wir die Odoo-DNS-Einträge?

Nein. Nach der Dokumentation 20.0 sind mit einem eigenen Postausgangsserver die SPF- und DKIM-Einträge dieses Anbieters nötig, zusammen mit einer eigenen Domain. Der CNAME auf odoo._domainkey.odoo.com gehört nur zum Odoo-Mailserver.

Muss DMARC sofort auf p=reject stehen?

Nein. RFC 7489 Abschnitt 6.3 kennt p=none, p=quarantine und p=reject. Mit p=none erhalten Sie zuerst Berichte an die unter rua angegebene Adresse und sehen, welche Systeme unter Ihrer Domain senden. Erst danach stellen Sie die Policy um.

Reicht SPF allein, wenn wir DKIM nicht einrichten können?

Für den Versand über den Odoo-Mailserver mit eigener Domain verlangt die Dokumentation 20.0 DKIM. Für DMARC reicht der SPF-Durchlauf nur, wenn die geprüfte Domain zur Absenderdomain passt; sonst fehlt die Ausrichtung nach RFC 7489 Abschnitt 3.1.

Warum passen die Prüfungen, und die Mail landet trotzdem im Spam?

Weil die Zustellung danach noch lokal entschieden wird. Nach RFC 7489 Abschnitt 6.7 können Empfänger eine Mail auch ablehnen oder einordnen, wenn sie DMARC besteht; die Odoo-Dokumentation hält ebenso fest, dass eine Mail trotz bestandener SPF- und DKIM-Prüfung als Spam eingestuft werden kann.

Quellen

  1. RFC 7208: Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1IETF, RFC Editor · abgerufen am
  2. RFC 6376: DomainKeys Identified Mail (DKIM) SignaturesIETF, RFC Editor · abgerufen am
  3. RFC 7489: Domain-based Message Authentication, Reporting, and Conformance (DMARC)IETF, RFC Editor · abgerufen am
  4. Configure DNS records to send emails in Odoo (Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  5. Manage outbound messages, Abschnitte Using a custom domain to send emails und Sending emails with an external SMTP server (Odoo 20.0)Odoo S.A., Dokumentation · abgerufen am
  6. Deutsche Übersetzungen der Module mail und base_setup, Zweig 20.0 (i18n/de.po)Odoo S.A., öffentlicher Quellcode (Community) · abgerufen am
  7. Email sender guidelines (Gmail-Hilfe, Anforderungen an Absender seit 1. Februar 2024)Google LLC · abgerufen am