Odoo-Mails kommen nicht an: SPF, DKIM, DMARC
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
- Fragen Sie die Einträge ab der Kommandozeile ab:
dig +short TXT ihr-unternehmen.de,dig +short CNAME odoo._domainkey.ihr-unternehmen.deunddig +short TXT _dmarc.ihr-unternehmen.de. Zählen Sie die SPF-Zeilen; es muss genau eine sein. - Wiederholen Sie die Abfragen, bis Ihr DNS-Anbieter den neuen Wert ausliefert.
- Senden Sie aus Odoo eine Testmail an das Testpostfach bei einem fremden Anbieter; ein Angebot oder eine Rechnung aus dem Chatter genügt.
- Öffnen Sie im Testpostfach den Quelltext der Nachricht und suchen Sie die Zeile
Authentication-Results. Erwartet sind dortspf=pass,dkim=passunddmarc=passfür Ihre Domain. Steht dortdmarc=fail, obwohl SPF besteht, fehlt die Ausrichtung zur Absenderdomain. - Prüfen Sie den DKIM-Eintrag zusätzlich mit einer Schlüsselabfrage: Beim Versand über den Odoo-Mailserver fragen Sie den Selektor
odooab, 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.