Odoo Help


17 Answers
Oleg Kuryan Estonia
4/4/18, 11:37 AM

Hi Guys,

Many our customers are asking the same question. Here is guide on how to integrate the Odoo ERP with Office 365 mail server ( https://ventor.tech/guides/how-to-configure-emails-to-work-with-office-365-and-odoo/ ). It has been verified on many customers already, and all screenshots are from latest Odoo (11 at the moment of writing) and latest version of Office 365. 

At a glance what you should do:

- Configure Outgoing mail Server in Office 365 as Relay Server

- Configure Catchall Email in Office 365

- Install Odoo module to inform users that they used the wrong email

- Configure Outgoing Mail Server in Odoo

- Configure Incoming Mail Server in Odoo

- Test Odoo ERP Emailing Setup


Tech Ops PH Philippines
11/5/16, 11:21 AM

As a workaround, I changed the Outgoing settings to just set-up SMTP Relay for Office365

hostname yourdomain-com.mail.protection.outlook.com  

port            25

security      None

Username  <blank>

Password    <blank>

Worked like a charm!

Make sure to set-up your connector as described here:


ji lee South Korea
2/20/17, 8:38 PM

As Eladio Abquina said, it works... Finally. 

In my case, company email and admin email are different.  When I used google admin id with smtp.gmail.com, odoo sends any email whatever the current logged account. However,  google has a limitation to use smtp email, 100 per day. 

Strangly, when I use general smtp outgoing settup which are smtp.office365.com port:587 or 25 email admin id and password, it worked only on the admin account.  I searched and tried all ,but only Eladio Abquina's suggestion is working.

I am going to add on his explanation....I used option3>step-by-step configuration instructions for SMTP relay from the link (https://support.office.com/en-us/article/How-to-set-up-a-multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-c805d654b4c4)

which are:

1. on office 365 >admin>domain>click primary>Exchange Online>

-copy mx domain address (which is mydomain_com.mail.protection.outlook.com)

-edit the next line  and put your odoo ip address(eg.

                v=spf1 ip4: include:spf.protection.out...

2. back to admin on office 365 >admin>exchange>mail flow>connector>add

from Myorganization's email server to office 365

put the odoo's ip address

3.on odoo

-General set up >  Uncheck "Use external authentication providers(OAuth)"

- outgoing smtp

Smtp server: mx endpoint of domain which copied on step1.

port: 25

security: TSL(STARTTLS)

no username or password. 

4. odoo>developer mode>setting>parameters >remove catchall  and domain

Hope it helps.

Rakesh Yadav India
5/13/17, 1:04 AM

Hi Ji Lee,

Can you please explain in detail about these steps? I am unable to find some of these options in Office 365 which you mentioned and I can't send mails from Odoo:

1. On Office 365 >admin>domain>click primary>Exchange Online> Copy the mx domain address (which should look something like: mydomain_com.mail.protection.outlook.com). This is the name of my outgoing SMTP server for Odoo - to be pasted later

2. Copy the recommended SPF rule and add in my Odoo server's IP, then add SPF record to my DNS records

v=spf1 ip4: include:spf.protection.out...

Please help me. I am stuck in Office 365. Thanks in advance.

ji lee South Korea
5/15/17, 2:01 AM

Hi. Mohit.. sorry what is" recommended SPF rule" you copied? the step 1 is MX at Exchange Online, and step 2 is TXT. you should just edit the TXT line. not add but edit.

Rodney Carrilho Netherlands
1/15/17, 1:16 PM

Hi, so I found the solution that worked for me on this site:


Do not forget to add the SPF record in your DNS to mak sure your mail does not end up in the Spam-mailbox.

Manish India
5/24/16, 6:58 AM

I would suggest you to recheck the Outgoing email server settings. Make sure the following:

  • Company email address and outgoing email server email address should be same.

  • The alias domain should be blank

  • priority should be less than the SMTP server - localhost, i.e. 10

patrick cadonau Switzerland
11/5/13, 4:38 PM

ok - got a little bit closer. it works with a workaround - but unsure if this is the wanted design?

openerp sends the email under the emailadress which is registered in the user profile who logs into the system. (see /usr/lib/pymodules/python2.7/openerp/addons/base/ir/ir_mail_server.py, line 301:

    email_from = email_from or tools.config.get('email_from')
    assert email_from, "You must either provide a sender address explicitly or configure "\
                       "a global sender address in the server configuration or with the "\
                       "--email-from startup parameter."

how can I now configure multiple users in the outgoing mail server when the SMTP server needs authentication? Is there a workaround? It would be nice having the email-adress and password configuration dialog in the user preferences?

Matt Taylor United States
11/6/13, 10:31 AM

It has been working fine for me for about 4 months. I started having this problem 2 days ago. None of my settings in OpenERP have changed. Something must have changed at outlook.office365.

Matt Taylor United States
11/7/13, 12:44 AM

Okay, so i tried a different provider (godaddy). The error message was similar, but gave some insight: Sender Rejected - MAIL FROM must be a valid domain.\nadmin@xxx.xx.xxxx.xx. Turns out I only needed to change the alias domain from the default (ip address) to my email domain name, on the General Settings. Now smtp through office365 works again. Not sure why it worked before.


jolevq Peru

| 3 2 5
Lima, Peru

jolevq Peru
6/2/17, 6:51 PM

We had the same problem and we solved with some microsoft support.

Our Environment:

  • EC2 in AWS with dinamic IP

  • Odoo 9

  • Office365 SMTP

  • DNS Host in GoDaddy

I'm gonna take some steps from ji lee previous post that was a very good help!

On Office365 Admin console

 Go to Configurations>domain>click primary>Exchange Online>

  1. Copy mx domain address (which is mydomain_com.mail.protection.outlook.com)

    1. Edit the next line and put your odoo ip address(eg.  (v=spf1 ip4: include:spf.protection.out...) In our case we tried also use ip4:mydomain.name and a:mydomain.name because as we are using AWS is preferable to use the domain, but microsoft support team told us that only works with static IP. In our case we set the public IP of the EC2 server.

    2. In our case the DNS record update was done in the GoDaddy admin console for DNS management; and we never saw the update in the office365 console. We checked the that the change was applied by looking at some DNS testing service like http://mxtoolbox.com/ and looking for the SPF Record Lookup

  2. back to admin on office 365 >admin>exchange>mail flow>connector>add from Myorganization's email server to office 365 put the odoo's ip address.

On odoo

  1. Go to General set up > Uncheck "Use external authentication providers(OAuth)" (In odoo v9 is not needed) 

  2. set outgoing smtp Smtp server: mx endpoint of domain which copied on step1.

  3. set port: 25 security: TSL(STARTTLS)

  4. no username or password.

  5. odoo>developer mode>setting>parameters >remove catchall and domain

Last Step

At this point we have not receiving mail yet, it seems like a unblocking of the email accounts is needed. Go to https://sender.office.com. There you put the user account (myuser@mydomain.name) and the IP again. An email is send to the email account (inbox) for unloking the accounts. From that moment it worked for us.

NOTE: the Odoo's user login/ email have to be a valid email account of that domain in office365. 

Rakesh Yadav India
5/12/17, 3:08 AM

I am facing same problem. Can any one please help me, who has solved this problem?

Michael Howarth United Kingdom
3/1/17, 11:37 AM

No answer as I don't have enough Karma yet.  Just a note to say Ji Lee's method worked for me perfectly. 

Thank you for the steps.

Jean-Claude Rieth Belgium
8/22/16, 2:35 PM

I did as Manish said, and it works.

Just beware that the blank alias domain: that's on the General settings page.


Michael van de Ven Netherlands
10/26/15, 1:22 PM

Setup Office 365 SMTP outlook.office365.com 995 SSL/TLS fails -> Client does not have permissions to send as this sender

1. In Odoo setup a SMTP server using your mail exchange (MX) endpoint record with port 25 no security

2. In Office 365 configure a connector so Odoo can send email to Office 365. Office 365 can then relay email to your organization mailboxes and to external recipients. Office 365 > admin > exchange > mail flow > connectors: configure a connector for your Odoo ("email") server with the internet connecting IP address (CIP: [IP address] from the internetheader the email). In my testcase the IP address of the router connecting to the internet. 

Kris Krnacs Hungary
11/4/15, 4:43 PM


So my fix is change code in /opt/odoo/odoo-server/openerp/addons/base/ir/ir_mail_server.py

You need to change "smtp_from" to "smtp_user" and also replace

after this:

If "mail.catchall.alias" is not set it defaults to "postmaster-odoo".



#Because you have "postmaster", but you don't have "postmaster-odoo" on your own provider.

Hope it helps!


Jonathan Leaders United States
5/24/19, 12:53 PM

Please explain how to set "mail.catchall.alias"

Jonathan Leaders United States
5/24/19, 1:24 PM

Also, how do I disable "Sub Addressing"? (appending a Plus Sign plus paremeter values

Frank Lee Canada
9/25/15, 9:44 AM

I have same problem with office365, 


i have changed alias on General Settings into our own domain name 

Outgoing set up all ready test connection successfully

imcoming set up confirmed

still not able to send email and received email

SMTPDataError: 550


Ask a Question
Keep Informed
2 follower(s)
About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now