Odoo Automated Email Problems: Causes & Solutions
Odoo "sending" an email and the customer receiving it are different events. Between them sit the outgoing mail server, your domain's SPF/DKIM records, and a mail queue that fails silently. Configure all three once, monitor the queue, and email becomes boring.
First, confirm the symptom
- Quotations and invoices marked "Sent" that customers never received
- Everything lands in spam
- Automated follow-ups / activity emails simply don't go
- Emails go from odd addresses like catchall@ or the wrong user
1. Outgoing mail server misconfigured
Wrong SMTP host/port/credentials — or none at all on self-hosted setups — means every message dies at the first hop. On Odoo Online it works out of the box; on your own server it is your job.
- Settings → Technical → Outgoing Mail Servers: configure your SMTP (or transactional provider) and use Test Connection.
- Send a real quotation to an external mailbox (Gmail + your own domain) and verify receipt, not just "Sent" status.
2. SPF, DKIM and DMARC not set for your domain
Without DNS authentication, receiving servers treat Odoo's mail as spoofing — spam folder at best, silent drop at worst. This is DNS work, not Odoo work.
- Add SPF including your SMTP provider, DKIM keys from the provider, and a DMARC policy on your domain's DNS.
- Verify with a mail-tester service until you score clean — then re-test after any DNS change.
3. Template from-address mismatch
Templates sending "from" addresses your SMTP is not allowed to use get rejected or rewritten. Mixed sender domains across templates = inconsistent deliverability.
- Standardise: one sending domain; set the alias domain and default-from in Settings.
- Audit email templates for hardcoded from-addresses and clear them so the system default applies.
4. Automation rules inactive or mis-triggered
Follow-up emails, activity reminders and scheduled actions can be archived, disabled after an upgrade, or pointed at conditions that never match — automation that used to work "stops" without error.
- Review Settings → Technical → Automation Rules / Scheduled Actions: active flags, next-run dates, and trigger conditions.
- After every version upgrade, re-test the three automations that matter most to you — a 10-minute ritual that saves weeks.
5. The mail queue fails silently
Failed messages sit in the mail queue with a failure state nobody looks at. The business believes mail was sent; the queue knows better.
- Check Settings → Technical → Emails filtered by failure state; read the actual error (auth, quota, rejected recipient).
- Put queue monitoring in place — our managed hosting alerts on mail failures so you hear it from us, not from customers.
We set up SMTP, DNS authentication, template hygiene and queue monitoring — one afternoon of work that ends the "did you get my quote?" era.
Frequently asked questions
Odoo says "Sent" — doesn't that mean delivered?
No. "Sent" means handed to the outgoing server. Delivery depends on DNS authentication and the receiver's filters — which is what causes #2 and #3 fix.
Should we use Gmail SMTP for business mail from Odoo?
For volume and deliverability, a transactional provider (or your own domain's proper SMTP) beats personal Gmail limits. We set this up as part of every implementation.