Odoo-e-mail die niet aankomt heeft twee oorzaken: de SMTP-verbinding is geblokkeerd (meestal de poort) of de ontvangende kant vertrouwt de mail niet (SPF, DKIM, DMARC). Los eerst de poort op, dan de DNS-records, en test beide voordat je op een van beide vertrouwt.
Je verstuurt een offerte vanuit Odoo. De klant zegt dat hij nooit is aangekomen. Je controleert de Messages, en daar staat hij met een rode envelop, "Failed". Het wordt erger als Odoo "Sent" zegt, de klant nog steeds niets heeft, en je drie dagen later je facturen in hun spamfolder vindt. Hoe dan ook gebeurt daarna hetzelfde. Het team stopt met Odoo-e-mail te vertrouwen en begint alles met de hand in Outlook te kopiëren, wat het hele punt van een ERP achterstevoren is.
Mislukte uitgaande e-mail in Odoo komt bijna altijd neer op één van twee dingen. De verbinding met de mailserver is geblokkeerd (meestal een poortprobleem), of de verbinding werkt maar de ontvangende kant vertrouwt de mail niet (een SPF-, DKIM- of DMARC-probleem). Ze lijken op elkaar vanuit de stoel van de gebruiker ("e-mail gaat er niet uit") maar het zijn verschillende bugs met verschillende oplossingen. Hier lees je hoe je weet welke je hebt, hoe je elke oplost, en hoe je test dat het echt werkt voordat je erop vertrouwt.
Waarom uitgaande e-mail faalt
Er zijn twee aparte fasen, en e-mail kan in beide stuklopen.
Fase één: Odoo kan het bericht niet aan een mailserver overdragen. Odoo maakt verbinding met een SMTP-server om te versturen. Als die verbinding wordt geweigerd of een time-out geeft, verlaat het bericht nooit het systeem en krijg je een fout in het uitgaande maillog. De meest voorkomende oorzaak op Odoo Online en Odoo.sh is de poort. Poort 25, de klassieke SMTP-poort, is om veiligheidsredenen geblokkeerd op beide platformen. Als je uitgaande mailserver op poort 25 is geconfigureerd, zal hij simpelweg nooit verbinden.
Fase twee: de mailserver accepteert het bericht, maar de server van de ontvanger vertrouwt het niet. Hier werkt de verbinding en rapporteert Odoo de mail als verzonden, maar de ontvangende server (Gmail, Outlook, een bedrijfsfilter) gooit hem in de spam of weigert hem ronduit. Dit is bijna altijd een authenticatieprobleem: de DNS-records die bewijzen "deze server mag mail versturen voor ons domein" ontbreken of kloppen niet. Dat zijn SPF, DKIM en DMARC.
Er is een handige vuistregel: als Odoo een fout toont en er niets vertrekt, is het fase één (verbinding of poort). Als Odoo zegt verzonden maar de mail belandt in spam of komt terug van de ontvanger, is het fase twee (authenticatie). Stel vast welke fase het is voordat je iets wijzigt.
De oplossing, in genummerde stappen
Bepaal of je überhaupt een eigen mailserver nodig hebt
Op Odoo Online en Odoo.sh werkt uitgaande e-mail al direct out of the box. Odoo draait zijn eigen mailservers voor je database, dus voor normale volumes hoef je niets te configureren. Je hebt alleen een eigen uitgaande server nodig als je via je eigen provider wilt versturen (Google Workspace, Microsoft 365, SendGrid, Mailgun) of als je grote batches verstuurt. Ben je self-hosted, dan configureer je altijd je eigen. Weten in welke situatie je zit, behoedt je voor het oplossen van een probleem dat je niet hebt.
Als je wel een server configureert, gebruik dan nooit poort 25
Poort 25 is om veiligheidsredenen geblokkeerd op Odoo Online en Odoo.sh, en veel cloud- en kantoornetwerken blokkeren hem ook. Gebruik in plaats daarvan een van de moderne poorten: 465 (SSL/TLS), 587 (STARTTLS, de gebruikelijke keuze voor geauthenticeerde verzending), of 2525 (een veelgebruikte terugvaloptie als 587 ook geblokkeerd is). Stem de encryptie-instelling af op de poort: 465 met SSL/TLS, 587 met STARTTLS. Een verkeerde poort is de meest voorkomende reden dat Odoo "niet kan verbinden" om te versturen.
Stel de uitgaande mailserver in Odoo in
Zet Settings > General Settings > Discuss > Custom Email Servers aan en sla op. Open vervolgens Outgoing Email Servers en maak een record aan met de SMTP-host van je provider, de juiste poort (465, 587 of 2525), je gebruikersnaam en wachtwoord, en de bijpassende encryptie. Stel een Priority in als je meer dan één server hebt (lager nummer wordt eerst geprobeerd). Hier zet je de inloggegevens van je mailprovider neer, niet verzinnen. Eén waarschuwing uit de praktijk: versturen via Microsoft 365 geeft meer gedoe dan welke andere provider we ook zien, met throttling, geblokkeerde relay en authenticatieregels die onder je voeten veranderen. Heb je geen solide IT-partner die op die opzet let, route de uitgaande mail dan in plaats daarvan via een dedicated SMTP-dienst zoals SMTP2GO of Amazon SES. Die bestaan om mail af te leveren, de records zijn eenvoudig op te zetten, en de afleverbaarheid is beter dan een verkeerd geconfigureerde 365-tenant ooit zal zijn.
Test de verbinding voordat je erop vertrouwt
Klik op het formulier van de uitgaande mailserver op Test Connection. Dit controleert de host, poort, encryptie en inloggegevens in één keer, zonder een echte e-mail te versturen. Faalt het hier, dan zit het probleem in de verbinding (fase één): verkeerde poort, verkeerde encryptie, geblokkeerde poort of foute inloggegevens. Los dat op totdat Test Connection slaagt. Een groene test betekent dat Odoo de server kan bereiken. Het betekent nog niet dat je mail vertrouwd wordt, en dat is het volgende deel.
Voeg de SPF-, DKIM- en DMARC-records toe aan je DNS
Dit is wat voorkomt dat je mail naar spam gaat. Voeg in de DNS-zone van je verzendende domein toe:
- SPF: een TXT-record dat de servers opsomt die namens jouw domein mogen versturen. Verstuur je via de servers van Odoo, neem dan Odoo's SPF op (
include:_spf.odoo.com) naast alle andere afzenders die je gebruikt. Slechts één SPF-record, met alle afzenders daarin. - DKIM: een CNAME-record waarmee ontvangers de handtekening kunnen verifiëren die Odoo aan elke mail toevoegt. Voor de servers van Odoo is dat
odoo._domainkeydie verwijst naarodoo._domainkey.odoo.com. Verstuur je via je eigen provider, gebruik dan hun DKIM-record. - DMARC: een TXT-record op
_dmarc.jouwdomein.comdat ontvangers vertelt wat ze moeten doen als SPF of DKIM faalt. Begin voorzichtig metp=none(alleen monitoren) zodat je de rapporten kunt bekijken voordat je aanscherpt naar quarantine of reject.
Om SPF of DKIM daadwerkelijk te laten slagen, moet het domein in het From-adres overeenkomen met het geauthenticeerde domein. Versturen als jij@jouwdomein.com terwijl alleen Odoo's domein geauthenticeerd is, is precies wat DMARC laat struikelen.
Configureer het aliasdomein zodat antwoorden en bounces werken
Stel in de e-mailinstellingen je aliasdomein in. Odoo gebruikt dan zinvolle standaarden: meldingen gaan vanaf notifications@jouwdomein.com, antwoorden worden opgevangen op catchall@jouwdomein.com, en mislukte bezorgingen komen terecht op bounce@jouwdomein.com. De bounce-alias is wat de rode envelop op een bericht vult als mail faalt, zodat je de mislukking ziet in plaats van te gokken. Zonder ingesteld aliasdomein hebben antwoorden en bounces nergens een plek.
Het stuk waar mensen over struikelen
Een paar dingen overkomen vrijwel iedereen
Een paar dingen overkomen vrijwel iedereen.
"Verzonden" in Odoo betekent niet "afgeleverd". Odoo rapporteert een mail als verzonden op het moment dat de SMTP-server hem accepteert. Wat de spamfilter van de ontvanger daarna doet, is voor Odoo onzichtbaar. Een schoon uitgaand log terwijl de mail toch ontbreekt is dus het klassieke teken van een authenticatieprobleem in fase twee, niet van een serverprobleem. Blijf niet aan de SMTP-instellingen morrelen als het probleem bij DNS zit.
Je kunt maar één SPF-record per domein hebben. Mensen voegen een tweede TXT-record toe voor een nieuwe afzender en breken SPF volledig, want twee SPF-records is ongeldig en ontvangers negeren beide. Elke afzender die je gebruikt (Odoo, je kantoormail, je nieuwsbrieftool) komt binnen het ene SPF-record met meerdere include:-vermeldingen.
DNS-wijzigingen zijn niet meteen actief. Nadat je SPF, DKIM of DMARC toevoegt of bewerkt, kan het van enkele minuten tot 48 uur duren voordat het is doorgevoerd. Als een test direct na het opslaan faalt, wacht dan en controleer opnieuw voordat je aanneemt dat het fout is.
Het From-domein moet overeenkomen. De meest voorkomende DMARC-fout is versturen vanaf je eigen domein terwijl alleen Odoo's domein geauthenticeerd is, of andersom. Dat SPF en DKIM slagen is niet genoeg; het zichtbare From-domein moet overeenkomen met het geauthenticeerde domein.
Odoo Online verbergt de SMTP-laag voor je. Op de pure SaaS raak je geen poorten of servers aan, dat regelt Odoo. Maar de DNS-records (SPF, DKIM, DMARC) horen bij je domein, niet bij Odoo, dus de afleverbaarheid blijft jouw verantwoordelijkheid om goed te krijgen, ook al wordt het versturen voor je beheerd.
Snelle checklist
- Je weet of je überhaupt een eigen uitgaande server nodig hebt, of dat het ingebouwde versturen van Odoo voldoende is.
- Geen enkele uitgaande mailserver gebruikt poort 25. Het is 465 (SSL/TLS), 587 (STARTTLS) of 2525.
- De encryptie-instelling past bij de poort.
- Test Connection op de uitgaande server slaagt groen.
- Er bestaat één SPF-record, met elke afzender daarin als een
include:. - De DKIM-CNAME staat klaar voor welke server jouw mail ook daadwerkelijk verstuurt.
- Er bestaat een DMARC-record dat begint bij
p=noneterwijl je de rapporten in de gaten houdt. - Het From-domein komt overeen met het geauthenticeerde domein.
- Het aliasdomein is ingesteld zodat antwoorden (catchall) en bounces (bounce) een plek hebben.
- Je hebt een echte testmail naar een Gmail- en een Outlook-adres gestuurd en de inbox gecontroleerd, niet alleen het Odoo-log.
FAQ
Waarom blijft mijn uitgaande e-mail steken in Odoo en wordt hij niet verzonden?
Meestal staat de uitgaande mailserver op poort 25, die geblokkeerd is op Odoo Online en Odoo.sh en op veel netwerken. Wijzig de poort naar 465 (SSL/TLS), 587 (STARTTLS) of 2525, stem de encryptie af op de poort en klik op Test Connection op de uitgaande mailserver. Als de test slaagt, kan Odoo nu de server bereiken en zal de mail het systeem verlaten.
Welke SMTP-poort moet ik gebruiken in Odoo?
Gebruik 587 met STARTTLS voor normale geauthenticeerde verzending, of 465 met SSL/TLS. Poort 2525 is een terugvaloptie als 587 geblokkeerd is. Gebruik geen poort 25: die is om veiligheidsredenen geblokkeerd op Odoo Online en Odoo.sh en wordt vaak ook geblokkeerd op cloud- en kantoornetwerken.
Waarom zegt Odoo dat de e-mail verzonden is, maar belandt hij in spam?
Omdat "verzonden" alleen betekent dat de mailserver hem accepteerde, niet dat de ontvanger hem vertrouwde. Plaatsing in spam komt bijna altijd door ontbrekende of verkeerde SPF-, DKIM- en DMARC-records in de DNS van je domein. Voeg een SPF TXT-record toe dat elke afzender bevat, een DKIM-CNAME voor de server die jouw mail verstuurt, en een DMARC-record, en zorg dat het From-domein overeenkomt met het geauthenticeerde domein.
Moet ik een e-mailserver configureren op Odoo Online?
Nee, niet voor normaal gebruik. Odoo Online en Odoo.sh draaien hun eigen mailservers, dus uitgaande e-mail werkt direct out of the box. Je configureert alleen een eigen uitgaande server om via je eigen provider te versturen of voor grote batches. Je moet nog steeds SPF-, DKIM- en DMARC-records toevoegen in de DNS van je domein voor goede afleverbaarheid, want die horen bij je domein, niet bij Odoo.
Hoe test ik of Odoo-e-mail echt werkt?
Twee controles. Klik eerst op Test Connection op de uitgaande mailserver: dat bevestigt de host, poort, encryptie en inloggegevens zonder een echte mail te versturen. Stuur ten tweede een echte testmail naar zowel een Gmail- als een Outlook-adres en open de inbox, want een schoon Odoo-log bewijst niet dat de mail vertrouwd werd. Gebruik een tool zoals een DMARC- of mailtester om te bevestigen dat SPF en DKIM slagen op het ontvangen bericht.