# SPF record for Odoo

URL: https://iblockspam.com/spf/odoo
Last updated: 2026-11-03

Include: include:_spf.odoo.com
Where it goes: Your custom domain (the Alias Domain in Odoo)
DNS lookups: 3 of 10

When Odoo Online or Odoo.sh sends mail from your own domain through Odoo's mail server, Odoo asks for the SPF record v=spf1 include:_spf.odoo.com ~all, or for include:_spf.odoo.com added to the record you already have. Odoo runs the SPF test on the bounce address, set by the Alias Domain in General Settings. The include costs 3 DNS lookups.

## Example records

- Odoo only (Odoo's value) (TXT, host @): `v=spf1 include:_spf.odoo.com ~all`
- Odoo and Google Workspace (TXT, host @): `v=spf1 include:_spf.google.com include:_spf.odoo.com ~all`
- Odoo and Microsoft 365 (TXT, host @): `v=spf1 include:spf.protection.outlook.com include:_spf.odoo.com ~all`

## Notes

- If you send through your own outgoing mail server instead of Odoo's, Odoo says to use that provider's SPF and DKIM records for your custom domain, not Odoo's.
- On 3 November 2026, `_spf.odoo.com` listed one IP address and nested two further Odoo includes, which is why it costs more than one lookup.
- Odoo's documentation uses `~all` and doesn't discuss `-all`.

## How to add it

- Check whether you need the record: Odoo says databases that send from the default Odoo subdomain (such as `@company-name.odoo.com`) are already set up for SPF, DKIM and DMARC.
- In Odoo, open **Settings > General Settings** and check the **Alias Domain**. That domain is used for the bounce address, so it is the one that needs the SPF record.
- At your DNS host, add `include:_spf.odoo.com` to the existing TXT record that starts with `v=spf1`, or create one with `v=spf1 include:_spf.odoo.com ~all`. Odoo says not to create a second record.
- Add the DKIM CNAME (`odoo._domainkey` pointing to `odoo._domainkey.odoo.com.`), then check the live SPF record with the SPF Checker below.

## DKIM and DMARC

Odoo says DKIM is required when you send from a custom domain through its mail server: a CNAME named `odoo._domainkey` pointing to `odoo._domainkey.odoo.com.`, tested with the selector `odoo`. For Odoo Online, Odoo says DKIM on the sending domain is what lets DMARC pass. See our [DKIM page for Odoo](https://iblockspam.com/dkim/odoo).

## Common mistakes

- Adding the SPF record to your website domain while the Alias Domain in Odoo is a different one. SPF is checked on the bounce address.
- Publishing a second `v=spf1` record next to your mailbox provider's. Merge the includes into one record.
- Adding Odoo's include when Odoo actually relays through your own outgoing server. Then your provider's records apply.

**Q: What is the SPF record for Odoo?**
`v=spf1 include:_spf.odoo.com ~all`, published as a TXT record. If the domain already has an SPF record, add `include:_spf.odoo.com` to it instead; Odoo says a domain must have only one SPF record.

**Q: Do I need SPF for Odoo if I send from my odoo.com subdomain?**
No. Odoo says Odoo Online and Odoo.sh databases that send from the default Odoo subdomain are pre-configured for SPF, DKIM and DMARC. You need the record only when Odoo sends from your own domain.

**Q: Which domain does Odoo check SPF on?**
The bounce address, which uses the Alias Domain set in Odoo's General Settings. If that is your custom domain, it must include `_spf.odoo.com` in its SPF record.

Sources:
- Odoo documentation: Configure DNS records to send emails in Odoo: https://www.odoo.com/documentation/latest/applications/general/email_communication/email_domain.html

---

Source: iBlockSpam, https://iblockspam.com/spf/odoo (this is a Markdown copy; the HTML page is canonical). Quote with attribution and a link. Site index for AI assistants: https://iblockspam.com/llms.txt
