Send and receive emails in Odoo with an email server¶
Odoo Online or Odoo.sh users¶
Since Odoo sets up its own mail servers for the database, outgoing and incoming emails already work out-of-the-box. So for Odoo Online and Odoo.sh customers, nothing needs to be done!
Unless an external mail server is required to send large batches of mass mailing, simply use the standard online Odoo database normally since it has already been preconfigured for email.
本文档的范围¶
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, unlike Odoo Online and Odoo.sh.
The following sections below contain information on how to integrate an external email server with Odoo.
警告
If no one in the company is used to managing email servers, Odoo Online and Odoo.sh are strongly recommended. Those Odoo hosting types’ email systems work instantly and are monitored by professionals. Nevertheless, a company can use their own email server if they want to manage the email server’s reputation themselves.
注解
Office 365 email servers don’t easily allow the sending of external emails from hosts like Odoo. Refer to Microsoft’s documentation to make it work.
Manage outbound messages¶
As a system admin, go to External Email Servers option. Then, click Save. Next, click Outgoing Email Servers and click Create to create a new outgoing mail server record in Odoo. Reference the SMTP data of the external email server. Once all the information has been filled out, click Test Connection.
in Odoo, and enable the下面是 G Suite 服务器的典型配置。
Then, go back to Alias Domain name. Finally, click Save to finish setting up the email server.
and set the email domain name in the注解
If an [AUTHENTICATION FAILED] Invalid credentials (Failure)
warning appears when
Test Connection is clicked for a Gmail address, activate the Less secure
app access option. A direct link can be accessed here.
In addition to that, enable the IMAP setting on the Gmail account.
Use an Office 365 server¶
An Office 365 server can be used if the database’s hosting type is Odoo on-premise. Office 365 SMTP relays are not compatible with Odoo Online or Odoo.sh unless Odoo is configured to force the outgoing “From” address.
Please refer to Microsoft’s documentation to configure an SMTP relay for the Odoo database’s IP address.
Use a G Suite server¶
A G Suite server can be used for any Odoo hosting type. To do so, set up the SMTP relay service. The configuration steps are explained in Google documentation.
限制条件¶
Please note that port 25 is blocked for security reasons on the SaaS and Odoo.sh platforms. Try using ports 465, 587, or 2525 instead.
使用默认的“发件人”电子邮件地址¶
有时,电子邮件的”From”(传出)地址可能属于不同的域,这可能是一个问题。
For example, if a customer with the email address mary@customer.example.com responds to a message, Odoo will try to redistribute that same email to the other subscribers in the thread. However, if the domain customer.example.com forbids that kind of usage for security, the email that Odoo is trying to redistribute would get rejected by some recipients’ email servers.
To avoid that problem, make sure all emails use a “From” address from the same authorized domain.
If the MTA supports SRS (Sender Rewriting Scheme), SRS can be enabled to handle these situations. However, that is more complex and requires more technical knowledge that is not meant to be covered by this documentation.
Instead, Odoo can be configured to do something similar by itself:
Set the Alias Domain name in the .
Turn on developer mode.
Go to
.Add one system parameter from the following list:
To use the same “From” address for all outgoing messages, use the key
mail.force.smtp.from
and set that address as value (such asoutgoing@mycompany.example.com
).To keep the original “From” address for emails that use the same domain, but change it for emails that use a different domain, use the key
mail.dynamic.smtp.from
and set the value as the email address that should be used in those cases (such asoutgoing@mycompany.example.com
).
Manage inbound messages¶
Odoo依赖通用的电子邮件别名来收取入站邮件。
从Odoo所发邮件对应的 回复邮件 通过catchall别名(catchall@)接入原来的讨论话题(以及所有关注者的收件箱)。
退回的邮件 接入 bounce@ ,以便在Odoo上追踪。这项功能特别用于`Odoo邮件营销 <https://www.odoo.com/page/email-marketing>`__,可取消选择无效的收件人。
原始邮件 :几个业务对象有自己的别名,从入站邮件中创建Odoo新记录:
销售渠道(在`Odoo CRM <https://www.odoo.com/page/crm>`__中创建线索或商机),
支持渠道(在`Odoo服务台 <https://www.odoo.com/page/helpdesk>`__创建工单),
Projects (to create new Tasks in Odoo Project),
Job Positions (to create Applicants in Odoo Recruitment),
等等
Depending on the mail server, there might be several methods to fetch emails. The easiest and most recommended method is to manage one email address per Odoo alias in the mail server.
Create the corresponding email addresses in the mail server (catchall@, bounce@, sales@, etc.).
Set the Alias Domain name in .
If the database’s hosting type is Odoo on-premise, create an Incoming Mail Server in Odoo for each alias. This can be done from the General Settings as well. Fill out the form according to the email provider’s settings. Leave the Actions to Perform on Incoming Mails field blank. Once all the information has been filled out, click on TEST & CONFIRM.
If the database’s hosting type is Odoo Online or Odoo.sh, redirecting incoming messages to Odoo’s domain name instead of the external email server is recommended. That way, incoming messages can be received without delay. Odoo Online only fetches incoming messages of external servers once every hour. Redirections for all email addresses should be set to Odoo’s domain name in the email server (e.g. catchall@mydomain.ext to catchall@mycompany.odoo.com).
All the aliases are customizable in Odoo. Object aliases can be edited from their respective configuration view.
小技巧
To edit catchall and bounce aliases, first activate the developer mode. Then, go to to customize the aliases (mail.catchall.alias & mail.bounce.alias).
By default, inbound messages are fetched every 5 minutes in Odoo on-premise.
注解
This value can be changed in developer mode. Go to and look for Mail: Fetchmail Service.
为事务和群发邮件设置不同的专用服务器¶
In Odoo a separate Mail Transfer Agent (MTA) server can be used for transactional emails and mass mailings. Example: Use Postmark or SendinBlue for transactional emails, and Amazon SES, Mailgun or Sendgrid for mass mailings.
小技巧
A default outgoing email server is already configured. Do not create an alternative one unless a specific external outgoing email server is needed for technical reasons.
To do this, first activate the developer mode, and then go to email servers. There, create two email MTA server settings; one for the transactional emails and one for the mass mailing server. Make sure to give priority to the transactional server over the mass mailing server by providing a lower priority number for the transactional MTA server.
Now, go to Dedicated Server. With these settings, Odoo uses the server with the lower priority for transactional emails, and the server here selected for mass mails. Note that in this case, the domain’s Sender Policy Framework (SPF) records must be set to include both transactional and mass mail servers.
and enable