How to Make Odoo Send From Your Domain and Keep Reply-To · Calibre Consulting

Send from your own domain, and let replies reach the real sender.

Make Odoo send outside senders' emails from your own domain with an alias domain and FROM Filtering, while Reply-To still reaches the right person.

This guide shows how to make Odoo send email from an address on your own domain when the message comes from someone outside it, such as a website visitor, while replies still reach the right person. The short answer: Odoo swaps the sender address itself, at the moment of sending, once two things are in place. The company needs an alias domain, which gives Odoo a notification address such as notifications@yourdomain.com, and the outgoing mail server needs your domain in FROM Filtering. The Reply-To header is never touched by that swap. Website forms that send an email already put the visitor's address in Reply-To.

It is for administrators who run Odoo with their own email domain, on Odoo Online or self-hosted. The behaviour was verified on Odoo 19 and Odoo 20.

Before you start

How Odoo picks the sender at sending time

Each time an email leaves, Odoo compares the sender's address with the FROM Filtering of each outgoing server, in priority order:

  1. If a server's filter matches the sender's full address or domain, the email goes out unchanged on that server.
  2. If not, Odoo looks for a server whose filter matches the notification address, and replaces the sender with it.
  3. Failing that, it uses the first server with an empty filter, and then simply the first server. In both cases it still replaces the sender with the notification address, if one exists.

Only the address changes. Odoo keeps the original display name, or the part before the @ when there is none, so "Susi" <susi@gmail.com> leaves as "Susi" <notifications@yourdomain.com>. When the bounce address matches the filter, Odoo also uses it as the technical sender, so delivery failures come back to your domain.

Without an alias domain, Odoo has no notification address, so an outside address passes through untouched even when the filter is set. On a self-hosted server, the only fallback is a default sender set in the configuration file. With an alias domain but an empty filter, emails are rewritten even when your staff send them from your own domain.

The system parameter mail.default.from no longer controls any of this. Odoo 19 and 20 only read it once, when the email features are first installed, to convert an older setup into an alias domain. Changing it afterwards has no visible effect.

What Reply-To becomes

Odoo writes Reply-To when it builds the message, before the sender is swapped, and the swap leaves it alone. Its value depends on where the email comes from:

So for a contact form, Reply in your inbox answers the visitor, and no hidden sender field is needed.

Set it up step by step

  1. Open the Settings app and scroll to the Emails section.
  2. In Alias Domain, type your domain, for example yourdomain.com, create it, and click Save.
  3. Turn on developer mode, then go to Settings > Technical > Email > Alias Domains and open your domain. Check Default From Alias (notifications by default), Catchall Alias (catchall) and Bounce Alias (bounce).
  4. Back in the Emails section of Settings, tick Use Custom Email Servers and save. Click Outgoing Email Servers, then open your server or click New and enter your provider's connection details.
  5. In FROM Filtering, enter your domain. Separate several domains or addresses with commas.
  6. Click Test Connection, then save.
  7. For website forms, go to Settings > Users & Companies > Companies, open your company, and on the General Information tab set Email to an address on your domain, such as info@yourdomain.com. If it is on another domain, Odoo swaps it for the notification address instead, which also works.
  8. In the website editor, select the form and check that its Action is Send an E-mail. Remove any hidden sender field added as a workaround.

Odoo Online and self-hosted differences

Check that it worked

  1. Submit your website form with a personal address outside your domain.
  2. Open the email that arrives and view its full headers.
  3. Check the From line. It should show "Company form submission" with your company address, or with notifications@yourdomain.com if the company address is elsewhere.
  4. Check the Reply-To line. It should show the personal address you typed in the form.
  5. Click Reply. It should be addressed to that personal address.

If emails from outside senders, such as a customer reply forwarded to followers, still show the outside address in From, check that the company has an alias domain. If staff emails arrive from notifications@ instead of their own address, check that FROM Filtering on the server contains your domain.

Steps verified on Odoo 19 and 20. Menus and labels can differ on other versions.

Common questions

Why does Odoo not replace an external sender address with my domain?

Odoo can only swap in a notification address if the company has an alias domain. Without one, an outside address goes out unchanged, even when FROM Filtering is set on the outgoing server.

Does Odoo keep the original sender in Reply-To when it rewrites the From address?

The rewrite only changes From, never Reply-To. Website forms with the Send an E-mail action put the visitor's address in Reply-To, while chatter messages use the record's alias or the catchall address so replies are logged in Odoo.

Does mail.default.from still work in Odoo 19 and 20?

No. The sender address now comes from the Default From Alias on the alias domain. Odoo only reads the old parameter once, when the email features are first installed, to convert an older setup into an alias domain.

What happens if FROM Filtering is left empty?

If the company has an alias domain, Odoo sends every email from the notification address, including emails your staff send from your own domain. Entering your domain in FROM Filtering keeps their own addresses.

What sender does an Odoo website contact form use?

In Odoo 19 and 20 it sends as Company form submission from the company's email address, with the visitor's address in Reply-To and copied into the message body.

Talk to the team.

If you are setting this up, or Odoo is not behaving the way this guide describes, book a 30-minute call. We will look at your configuration and tell you what it needs. Calgary studio, in-house team, no offshore handoffs.

Book the call →