[IMP] email servers: new explanations for gsuite, office 365 and inbound mail server config

This commit is contained in:
odoo 2017-12-15 13:54:01 +01:00
parent 990a3b0d82
commit 2aead51b3a

View File

@ -1,107 +1,60 @@
================================================================= ============================================================
How to use my own email servers to send and receive emails in Odoo How to use my mail server to send and receive emails in Odoo
================================================================= ============================================================
When is it needed This document is mainly dedicated to Odoo on-premise users who don't
================= benefit from an out-of-the-box solution to send and receive emails in Odoo,
Using your own email servers is required to send and receive messages unlike in `Odoo Online <https://www.odoo.com/trial>`__ & `Odoo.sh <https://www.odoo.sh>`__.
in Odoo instances running on-premise. Odoo Online embeds an out-of-box
email solution. However you can still use If no one in your company is used to manage email servers, we strongly recommend that
your own email servers with the online edition. Some insights you opt for such convenient Odoo hosting solutions. Indeed their email system
are provided here below. works instantly and is monitored by professionals.
Nevertheless you can still use your own email servers if you want
to manage your email server's reputation yourself.
You will find here below some useful
information to do so by integrating your own email solution with Odoo.
How to manage outbound messages
===============================
How to set it up in Odoo
========================
As a system admin, go to :menuselection:`Settings --> General Settings` As a system admin, go to :menuselection:`Settings --> General Settings`
and check *External Email Servers*. and check *External Email Servers*.
Then, go through the following steps. Then, click *Outgoing Mail Servers* to create one and reference the SMTP data of your email server.
Set an outgoing email server for outbound messages
--------------------------------------------------
You need the SMTP data of your email provider (Gmail, Outlook,
Yahoo, AOL, etc.) as well as your admin credentials.
Once all the information has been filled out, click on *Test Connection*. Once all the information has been filled out, click on *Test Connection*.
Here is a typical configuration for a G Suite server.
.. image:: media/outgoing_server.png .. image:: media/outgoing_server.png
:align: center :align: center
Set an incoming email server for inbound messages Then set your email domain name in the General Settings.
-------------------------------------------------
Fill out the form according to your email providers settings.
Leave the *Actions to Perform on Incoming Mails* blank. Once all the
information has been filled out, click on *TEST & CONFIRM*.
.. image:: media/incoming_server.png Can I use an Office 365 server
:align: center ------------------------------
You can use an Office 365 server if you run Odoo on-premise.
Office 365 SMTP relays are not compatible with Odoo Online.
.. note:: By default inbound messages are fetched every 5 minutes. Please refer to `Microsoft's documentation <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>`__
You can change this value in developer mode. to configure a SMTP relay for your Odoo's IP address.
Go to :menuselection:`Settings --> Technical --> Automation -->
Scheduled Actions` and look for *Mail: Fetchmail Service*.
Set the domain name How to use a G Suite server
------------------- ---------------------------
Enter the domain name of your email server (e.g. mycompany.com) You can use an G Suite server for any Odoo hosting type.
in General Settings. To do so you need to enable a SMTP relay and to allow *Any addresses*
in the *Allowed senders* section. The configuration steps are explained in
.. image:: media/alias_domain.png `Google documentation <https://support.google.com/a/answer/2956491?hl=en>`__.
:align: center
This domain name is used for the reply-to address of your outgoing emails,
along with the alias mentioned here below. It is also used to generate new
business records from incoming emails (Leads & Opportunities in Odoo CRM,
Tickets in Odoo Helpdesk, etc.).
Create a catchall address
-------------------------
When a contact replies to an email sent out from Odoo, the *reply-to* address
is a generic address used to route the reply to the right discussion thread
in Odoo and to the inbox of all its followers.
By default the alias of this address is "catchall@" but it can be changed.
Create a catchall address in your email server settings. We advise
you to use "catchall@" so that everything works out straight away.
If you want to use another alias, you have extra steps in Odoo:
- Activate the developer mode from your Settings Dashboard.
.. image:: media/developer_mode.png
:align: center
- Refresh your screen. Then go to :menuselection:`Settings --> Technical
--> Parameters --> System Parameters` and enter your custom catchall alias
in *mail.catchall.alias*.
.. image:: media/system_parameters.png
:align: center
.. note:: You can edit the email alias used for bounced messages the same way.
What to set up outside Odoo
===========================
Sending out emails from Odoo requires a few additional steps to prevent your
messages to be flagged as spam by receivers.
Be SPF-compliant Be SPF-compliant
---------------- ----------------
Sender Policy Framework (SPF) is an email-validation system that checks that In case you use SPF (Sender Policy Framework) to increase the deliverability
incoming emails have been sent from a host authorized by the email domain's of your outgoing emails, don't forget to authorize Odoo as a sending host in your
administrator. Such a security system is used in most email servers. domain name settings. Here is the configuration for Odoo Online:
If you don't comply with it, your emails sent from Odoo will be likely
flagged as spam.
To be SPF-compliant, you need to authorize Odoo as a sending host * If no TXT record is set for SPF, create one with following definition:
in your domain name settings:
* Sign in to your domains account at your domain host.
* Locate the page for updating your domains DNS records.
* If no TXT record is set, create one with following definition:
v=spf1 include:_spf.odoo.com ~all v=spf1 include:_spf.odoo.com ~all
* In case a TXT record is already set, add "include:_spf.odoo.com". * In case a SPF TXT record is already set, add "include:_spf.odoo.com".
e.g. for a domain name that sends emails via Odoo Online and via G Suite it could be:
e.g. for a Gmail server it should be:
v=spf1 include:_spf.odoo.com include:_spf.google.com ~all v=spf1 include:_spf.odoo.com include:_spf.google.com ~all
Find `here <https://www.mail-tester.com/spf/>`__ the exact procedure to Find `here <https://www.mail-tester.com/spf/>`__ the exact procedure to
@ -114,75 +67,84 @@ but this usually happens more quickly.
with mail delivery and spam classification. Instead, we recommend using with mail delivery and spam classification. Instead, we recommend using
only one SPF record by modifying it to authorize Odoo. only one SPF record by modifying it to authorize Odoo.
Allow DKIM Allow DKIM
---------- ----------
Like SPF, Domain Keys Identified Mail (DKIM) aims to make your outgoing emails You should do the same thing if DKIM (Domain Keys Identified Mail)
legitimate when they get to the receiver side. It does so by providing your is enabled on your email server. In the case of Odoo Online & Odoo.sh,
emails with an encrypted signature related to your domain name. you should add a DNS "odoo._domainkey" CNAME record to
Odoo enables automatic DKIM signature for all domains.
To be valid you should add a DNS "odoo._domainkey" CNAME record to
"odoo._domainkey.odoo.com". "odoo._domainkey.odoo.com".
For example, for "foo.com" they should have a record "odoo._domainkey.foo.com" For example, for "foo.com" they should have a record "odoo._domainkey.foo.com"
that is a CNAME with the value "odoo._domainkey.odoo.com". that is a CNAME with the value "odoo._domainkey.odoo.com".
This is especially useful if your domain is hosted by Office 365 and if you How to manage inbound messages
want to enable the DKIM option in Office 365. ==============================
What if my email domain is hosted by Office 365 Odoo relies on generic email aliases to fetch incoming messages.
===============================================
For domains hosted by Office 365, the previous 2 points are important, * **Reply messages** of messages sent from Odoo are routed to their original
but not always enough to send emails from Odoo. discussion thread (and to the inbox of all its followers) by the
To improve your trust score, make sure that the domain name in Odoo's catchall alias (**catchall@**).
General Settings is your Office 365 domain (e.g. "mycompany.com" rather than
"mycompany.odoo.com") and that your catchall and bounce aliases redirects to
Odoo, as explained here above.
Please note that you can only use your Office 365 email server to send emails * **Bounced messages** are routed to **bounce@** in order to track them in Odoo.
from Odoo when your Odoo installation is on-premise. This is especially used in `Odoo Email Marketing <https://www.odoo.com/page/email-marketing>`__
Odoo Online does not support such a configuration. to opt-out invalid recipients.
Fetching incoming messages is however possible for any hosting type of Odoo
(online & on-premise).
* **Original messages**: Several business objects have their own alias to
create new records in Odoo from incoming emails:
How to choose between Odoo and my traditional email box * Sales Channel (to create Leads or Opportunities in `Odoo CRM <https://www.odoo.com/page/crm>`__),
=======================================================
Odoo Discuss is a perfect tool to send and read messages related to
business documents. However it doesn't aim to replace a full-featured email
solution (Gmail, Outlook, Yahoo, AOL, etc.).
We recommend to take the most out of both systems without mingling them:
What is related to Odoo business objects or applications goes into Odoo;
What is not can be managed into your external email box.
To do so, create specific email aliases to use in Odoo (to generate leads * Support Channel (to create Tickets in `Odoo Helpdesk <https://www.odoo.com/page/helpdesk>`__),
or opportunities, helpdesk tickets, etc.). If you take an email alias
already used for messaging outside of Odoo, incoming messages will land
into both systems. This will negatively impact your productivity.
* Projects (to create new Tasks in `Odoo Project <https://www.odoo.com/page/project-management>`__),
How to use my own email servers with Odoo Online * Job Positions (to create Applicants in `Odoo Recruitment <https://www.odoo.com/page/recruitment>`__),
================================================
Odoo Online comes up with an embedded and ready-to-use email
solution with *@yourcompany.odoo.com* as domain.
We recommend to keep this default setup as it is really convenient.
Nevertheless you can still use your own email servers if you want * etc.
to manage your email server's reputation (blacklisting, etc).
The configuration for both incoming and outgoing mail servers is
given here above.
However when it comes to incoming messages, we don't recommend Depending on your mail server, there might be several methods to fetch emails.
to exclusively use your own email server. Indeed, Odoo Online is fetching The easiest and most recommended method is to manage one email address per Odoo
incoming messages from the email server once every hour only. alias in your mail server.
To receive emails in real time, you should rather use
a **catchall redirection** (your server -> Odoo server). To do so:
* Create a catchall address in your email server settings (e.g. catchall). * Create the corresponding email addresses in your mail server
* Still from such settings, set a redirection (catcall@, bounce@, sales@, etc.).
from this catchall address to Odoo's one: * Set your domain name in the General Settings.
catchall@yourdomain.ext -> catchall@yourcompany.odoo.com.
* In Odoo check *External Email Servers* in :menuselection:`Settings --> General Settings` .. image:: media/alias_domain.png
and enter your email domain name (i.e. yourdomain.ext). :align: center
* No need to set up an incoming email server in such a case.
* If you use Odoo on-premise, create an *Incoming Mail Server* in Odoo for each alias.
You can do it from the General Settings as well. Fill out the form according
to your email providers settings.
Leave the *Actions to Perform on Incoming Mails* blank. Once all the
information has been filled out, click on *TEST & CONFIRM*.
.. image:: media/incoming_server.png
:align: center
* If you use Odoo Online or Odoo.sh, We do recommend to redirect incoming messages
to Odoo's domain name rather than exclusively use your own email server.
That way you will receive incoming messages without delay. Indeed, Odoo Online is fetching
incoming messages of external servers once per hour only.
You should set redirections for all the email addresses to Odoo's domain name in your
email server (e.g. *catchall@mydomain.ext* to *catchall@mycompany.odoo.com*).
.. tip:: All the aliases are customizable in Odoo.
Object aliases can be edited from their respective configuration view.
To edit catchall and bounce aliases, you first need to activate the
developer mode from the Settings Dashboard.
.. image:: media/developer_mode.png
:align: center
Then refresh your screen and go to
:menuselection:`Settings --> Technical --> Parameters --> System Parameters`
to customize the aliases (*mail.catchall.alias* & * mail.bounce.alias*).
.. image:: media/system_parameters.png
:align: center
.. note:: By default inbound messages are fetched every 5 minutes in Odoo on-premise.
You can change this value in developer mode.
Go to :menuselection:`Settings --> Technical --> Automation -->
Scheduled Actions` and look for *Mail: Fetchmail Service*.