@@ -20,7 +20,7 @@ If your database is hosted on our cloud (Odoo Online or Odoo.sh), it is not nece
|
||||
outgoing email server to send emails from your custom domain. You can enjoy this feature by using
|
||||
the default Odoo email server.
|
||||
|
||||
.. important::
|
||||
.. important::
|
||||
The Odoo server is subject to a daily email limit to prevent abuse. The default limit is 200
|
||||
emails sent per day for databases with an Enterprise subscription. This limit can be increased
|
||||
under certain conditions. See our :doc:`FAQ <faq>` or contact support for more
|
||||
@@ -38,19 +38,19 @@ Be SPF compliant
|
||||
================
|
||||
|
||||
The Sender Policy Framework (SPF) protocol allows the owner of a domain name to specify which
|
||||
servers are allowed to send email from that domain. When a server receives an incoming email,
|
||||
it checks whether the IP address of the sending server is on the list of allowed IPs according
|
||||
servers are allowed to send email from that domain. When a server receives an incoming email,
|
||||
it checks whether the IP address of the sending server is on the list of allowed IPs according
|
||||
to the SPF record of the sender.
|
||||
|
||||
.. note::
|
||||
.. note::
|
||||
The SPF verification is performed on the domain mentioned in the Return-Path field of the email.
|
||||
In the case of an email sent by Odoo, this domain corresponds to the value of the
|
||||
`mail.catchall.domain` key in the database system parameters.
|
||||
|
||||
See the :ref:`documentation on incoming emails <email_communication/inbound_messages>`.
|
||||
|
||||
The SPF policy of a domain is set using a TXT record. How to create or modify a TXT record depends
|
||||
on the provider hosting the DNS zone of your domain name. In order for the verification to work
|
||||
The SPF policy of a domain is set using a TXT record. How to create or modify a TXT record depends
|
||||
on the provider hosting the DNS zone of your domain name. In order for the verification to work
|
||||
properly, each domain can only have one SPF record.
|
||||
|
||||
If your domain name does not yet have an SPF record, the content of the record to create is as
|
||||
@@ -66,7 +66,7 @@ new one).
|
||||
If your TXT record is `v=spf1 include:_spf.google.com ~all`, you need to edit it to add
|
||||
`include:_spf.odoo.com`: `v=spf1 include:_spf.odoo.com include:_spf.google.com ~all`
|
||||
|
||||
You can check if your SPF record is valid with a free tool like
|
||||
You can check if your SPF record is valid with a free tool like
|
||||
`MXToolbox SPF <https://mxtoolbox.com/spf.aspx>`_.
|
||||
|
||||
.. _email_communication/DKIM_compliant:
|
||||
@@ -86,13 +86,13 @@ To enable DKIM, you must add a CNAME record to the DNS zone of your domain name:
|
||||
``odoo._domainkey IN CNAME odoo._domainkey.odoo.com.``
|
||||
|
||||
.. tip::
|
||||
If your domain name is `mycompany.com`, you need to create a subdomain
|
||||
If your domain name is `mycompany.com`, you need to create a subdomain
|
||||
`odoo._domainkey.mycompany.com` whose canonical name is `odoo._domainkey.odoo.com.`.
|
||||
|
||||
How to create or modify a CNAME record depends on the provider hosting the DNS zone of your domain
|
||||
name. The most common providers are list below.
|
||||
|
||||
You can check if your DKIM record is valid with a free tool like
|
||||
You can check if your DKIM record is valid with a free tool like
|
||||
`DKIM Core <https://dkimcore.org/tools/>`_. If a selector is asked, enter `odoo`.
|
||||
|
||||
Check your DMARC policy
|
||||
@@ -110,7 +110,7 @@ There are three DMARC policies:
|
||||
``p=quarantine`` and ``p=reject`` instruct the server that receives an email to quarantine that
|
||||
email or ignore it if the SPF and/or DKIM check fails.
|
||||
|
||||
If your domain name uses DMARC and has defined one of these policies, it is therefore imperative
|
||||
If your domain name uses DMARC and has defined one of these policies, it is therefore imperative
|
||||
to be SPF compliant or to enable DKIM.
|
||||
|
||||
.. danger::
|
||||
@@ -118,7 +118,7 @@ to be SPF compliant or to enable DKIM.
|
||||
strongly advise against using an *@yahoo.com* or *@aol.com* address for your users. These emails
|
||||
will never reach their recipient.
|
||||
|
||||
``p=none`` is used for the domain owner to receive reports about entities using their domain. It
|
||||
``p=none`` is used for the domain owner to receive reports about entities using their domain. It
|
||||
should not impact the deliverability if the DMARC check fails.
|
||||
|
||||
You can check the DMARC record of a domain name with a tool like
|
||||
@@ -127,12 +127,12 @@ You can check the DMARC record of a domain name with a tool like
|
||||
If one of your partners, customer or vendor, uses DMARC and has defined one of these policies, the
|
||||
Odoo server cannot relay emails from this partner to your users.
|
||||
|
||||
You need to :ref:`handle user notifications in Odoo <discuss_app/notification_preferences>`, or replace the
|
||||
You need to :ref:`handle user notifications in Odoo <discuss_app/notification_preferences>`, or replace the
|
||||
email address of the partner with a default email address.
|
||||
|
||||
.. _email_communication/SPFDKIM_common_providers:
|
||||
|
||||
SPF, DKIM & DMARC documentation of common providers
|
||||
SPF, DKIM & DMARC documentation of common providers
|
||||
===================================================
|
||||
|
||||
- `OVH DNS <https://docs.ovh.com/us/en/domains/web_hosting_how_to_edit_my_dns_zone/>`_
|
||||
@@ -145,8 +145,8 @@ SPF, DKIM & DMARC documentation of common providers
|
||||
- `Google Domains <https://support.google.com/domains/answer/3290350?hl=en>`_
|
||||
- `Azure DNS <https://docs.microsoft.com/en-us/azure/dns/dns-getstarted-portal>`_
|
||||
|
||||
To fully test your configuration, the tool `Mail-Tester <https://www.mail-tester.com/>`_ will give
|
||||
you a full overview of the content and configuration you have in one email sent! Mail-Tester can
|
||||
To fully test your configuration, the tool `Mail-Tester <https://www.mail-tester.com/>`_ will give
|
||||
you a full overview of the content and configuration you have in one email sent! Mail-Tester can
|
||||
also be used for other lesser known providers.
|
||||
|
||||
Use a default email address
|
||||
@@ -156,7 +156,7 @@ To force the email address from which emails are sent, you need to create the fo
|
||||
the System Parameters of the database:
|
||||
|
||||
- If ``mail.default.from`` is set, and contains a full email address, all outgoing emails are sent
|
||||
from the given address. This is a requirement to use `Outlook with Odoo
|
||||
from the given address. This is a requirement to use `Outlook with Odoo
|
||||
<https://docs.microsoft.com/en-us/exchange/mail-flow-best-practices/how-to-set-up-a-multifunction-device-or-application-to-send-email-using-microsoft-365-or-office-365#option-1-authenticate-your-device-or-application-directly-with-a-microsoft-365-or-office-365-mailbox-and-send-mail-using-smtp-auth-client-submission>`_.
|
||||
|
||||
You access the **System Parameters** in :ref:`developer mode <developer-mode>` in the :menuselection:`Settings -->
|
||||
|
||||
@@ -10,15 +10,15 @@ improving their overall experience with the company.
|
||||
|
||||
.. note::
|
||||
The email templates use QWeb. The composer allows you to edit emails in their final rendering,
|
||||
making customizations more robust as you don’t have to edit code.
|
||||
making customizations more robust as you don’t have to edit code.
|
||||
|
||||
Defining a default reply to on your mail template
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Although the field *reply to* is available within the mail templates, **this field is only used
|
||||
for mass mailing** mode (this means when sending templates on what we call bulk emailing). You
|
||||
can send emails in bulk in almost every app that has a list view. Select the records you want
|
||||
and click on the action button. If you have an option to send an email, you will see a mail
|
||||
Although the field *reply to* is available within the mail templates, **this field is only used
|
||||
for mass mailing** mode (this means when sending templates on what we call bulk emailing). You
|
||||
can send emails in bulk in almost every app that has a list view. Select the records you want
|
||||
and click on the action button. If you have an option to send an email, you will see a mail
|
||||
composer with possible values to define:
|
||||
|
||||
.. image:: email_template/composer-mass-mailing-quotations.png
|
||||
@@ -31,12 +31,12 @@ You can also define them by default on the template:
|
||||
:align: center
|
||||
:alt: Reply-to field on template.
|
||||
|
||||
Because of this, setting a value in this field is useless as the value defined will be totally
|
||||
ignored. The default *reply-to* value is the default catchall email address to ensure a
|
||||
Because of this, setting a value in this field is useless as the value defined will be totally
|
||||
ignored. The default *reply-to* value is the default catchall email address to ensure a
|
||||
communication between your customer and your Odoo database. For more information about the way
|
||||
the catchall works, please check :ref:`how to manage inbound messages <email_communication/inbound_messages>`.
|
||||
|
||||
Transactional emails and corresponding URL for each company
|
||||
Transactional emails and corresponding URL for each company
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
When using Odoo, multiple events trigger the sending of automated emails. These emails are known
|
||||
@@ -45,36 +45,36 @@ as transactional emails and sometimes contain links pointing to your Odoo databa
|
||||
By default, links generated by the database use the dynamic web.base.url key defined in the system
|
||||
parameters. More information about this :ref:`parameter <domain-name/web-base-url>`.
|
||||
|
||||
If the website application isn't installed, the web.base.url key will always be the default
|
||||
If the website application isn't installed, the web.base.url key will always be the default
|
||||
parameter used to generate all the links.
|
||||
|
||||
It’s important to know that this key can only have a single value, meaning that in a
|
||||
multi-website/company database environment, even if you have a specific domain name for each
|
||||
It’s important to know that this key can only have a single value, meaning that in a
|
||||
multi-website/company database environment, even if you have a specific domain name for each
|
||||
website, the links generated to share a document or within a transactional email might remain the
|
||||
same, whatever the website/company related to the sending of the email/document.
|
||||
|
||||
This is not always the case as some Odoo applications have a link established in the database with
|
||||
the website application, meaning that in this case, if a specific domain is defined for the
|
||||
This is not always the case as some Odoo applications have a link established in the database with
|
||||
the website application, meaning that in this case, if a specific domain is defined for the
|
||||
websites, the URL generated in the email template will use the domain defined on the corresponding
|
||||
website of the company.
|
||||
|
||||
.. caution::
|
||||
A document shared using the documents application will always use the web.base.url key, as the
|
||||
document shared isn't associated with any particular website. Meaning that the URL will always be
|
||||
the same (the web.base.url key value), whatever the company it's shared from, this is a known
|
||||
A document shared using the documents application will always use the web.base.url key, as the
|
||||
document shared isn't associated with any particular website. Meaning that the URL will always be
|
||||
the same (the web.base.url key value), whatever the company it's shared from, this is a known
|
||||
limitation!
|
||||
|
||||
On the other hand, sales orders made by a customer on one of your Odoo e-commerce websites have a
|
||||
link established with the website from which the order was made. As a result, the e-mail sent for
|
||||
On the other hand, sales orders made by a customer on one of your Odoo e-commerce websites have a
|
||||
link established with the website from which the order was made. As a result, the e-mail sent for
|
||||
the sales orders uses the domain name defined for the corresponding website to generate the links.
|
||||
|
||||
For more information about how to configure your domains, we invite you to check :doc:`our domain name
|
||||
For more information about how to configure your domains, we invite you to check :doc:`our domain name
|
||||
documentation </administration/maintain/domain_names>`.
|
||||
|
||||
Updating translations within email templates
|
||||
********************************************
|
||||
|
||||
Email templates are automatically translated. Changing the translations shouldn’t be necessary.
|
||||
Email templates are automatically translated. Changing the translations shouldn’t be necessary.
|
||||
However, if for a specific reason you’d like to change some of the translations, this can be done.
|
||||
|
||||
Like any modification in the code, keep in mind that modifications that aren’t done correctly (for
|
||||
@@ -89,7 +89,7 @@ In order to edit your translations, follow these steps from the template.
|
||||
:align: left
|
||||
:alt: Edit the language of a template
|
||||
|
||||
#. A pop-up window with the different languages installed on the database will be displayed. From
|
||||
#. A pop-up window with the different languages installed on the database will be displayed. From
|
||||
here, editing the translations will be possible. Don't forget to hit the save button to preserve
|
||||
your changes.
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
===
|
||||
FAQ
|
||||
FAQ
|
||||
===
|
||||
|
||||
This document contains an explanation of the most recurring mailing concerns.
|
||||
|
||||
We will start by addressing issues of outgoing emails (ex: my client has not received my email),
|
||||
We will start by addressing issues of outgoing emails (ex: my client has not received my email),
|
||||
and then, of incoming emails (ex: I do not receive responses from my customers in the database).
|
||||
|
||||
Outgoing emails
|
||||
@@ -27,15 +27,15 @@ Common error messages
|
||||
|
||||
.. _email_communication/daily_limit_mail:
|
||||
|
||||
You reached your daily limit:
|
||||
You reached your daily limit:
|
||||
*****************************
|
||||
|
||||
.. image:: faq/email-limit.png
|
||||
:align: center
|
||||
:alt: Warning in Odoo upon email limit reached
|
||||
|
||||
Each email service provider has its own email sending limits. The limits may be daily, hourly,
|
||||
and sometimes even per minute. This is the same for Odoo, we have to limit our customers to prevent
|
||||
Each email service provider has its own email sending limits. The limits may be daily, hourly,
|
||||
and sometimes even per minute. This is the same for Odoo, we have to limit our customers to prevent
|
||||
our e-mail servers from being blacklisted.
|
||||
|
||||
Here are the default limits for new databases:
|
||||
@@ -48,18 +48,18 @@ Here are the default limits for new databases:
|
||||
|
||||
In case you hit the limit, you can:
|
||||
|
||||
- Ask our support team to increase your daily limit. We will analyze the situation of your database
|
||||
- Ask our support team to increase your daily limit. We will analyze the situation of your database
|
||||
depending on (non-exhaustive list):
|
||||
|
||||
- How many users in your database,
|
||||
- How many users in your database,
|
||||
- Which apps are installed,
|
||||
- Your bounce rate: the percentage of email addresses that did not receive your emails because
|
||||
- Your bounce rate: the percentage of email addresses that did not receive your emails because
|
||||
it was returned by a mail server on its way to the final recipient. You can contact the `support
|
||||
<https://www.odoo.com/help>`_.
|
||||
|
||||
- Use your own outgoing email server to be independent of Odoo’s mail limit (please refer
|
||||
- Use your own outgoing email server to be independent of Odoo’s mail limit (please refer
|
||||
to :doc:`the corresponding documentation </applications/general/email_communication/email_servers>`),
|
||||
- Wait until 11pm UTC for the reset and click on the retry button: The :ref:`Developer mode <developer-mode>`
|
||||
- Wait until 11pm UTC for the reset and click on the retry button: The :ref:`Developer mode <developer-mode>`
|
||||
must be activated. Then, go to :menuselection:`Settings --> Technical --> Emails`
|
||||
|
||||
.. image:: faq/email-retry-technical.png
|
||||
@@ -70,54 +70,54 @@ In case you hit the limit, you can:
|
||||
The daily limit is global to your database and can rise quickly! By default an internal message,
|
||||
a notification, a note, etc. counts as an email in your daily limit if it notifies someone.
|
||||
|
||||
You can mitigate this by receiving your :ref:`notifications in Odoo <discuss_app/notification_preferences>`
|
||||
instead of by emails.
|
||||
You can mitigate this by receiving your :ref:`notifications in Odoo <discuss_app/notification_preferences>`
|
||||
instead of by emails.
|
||||
|
||||
SMTP Error
|
||||
**********
|
||||
|
||||
You can find out why an email wasn't transmitted successfully by reviewing the Simple Mail
|
||||
Transport Protocol (SMTP) error messages. SMTP is a protocol to describe the email structure
|
||||
and transmit it over the Internet, and the error messages generated by email services are helpful
|
||||
You can find out why an email wasn't transmitted successfully by reviewing the Simple Mail
|
||||
Transport Protocol (SMTP) error messages. SMTP is a protocol to describe the email structure
|
||||
and transmit it over the Internet, and the error messages generated by email services are helpful
|
||||
tools to diagnose and troubleshoot email problems.
|
||||
|
||||
No Error
|
||||
********
|
||||
|
||||
Odoo is not always capable of providing information for the reason it failed. The different
|
||||
providers implement a personalized policy of the bounce emails and it is not always possible
|
||||
Odoo is not always capable of providing information for the reason it failed. The different
|
||||
providers implement a personalized policy of the bounce emails and it is not always possible
|
||||
for Odoo to interpret it correctly.
|
||||
|
||||
If you have this problem on a recurring basis with the same client or the same domain, please
|
||||
If you have this problem on a recurring basis with the same client or the same domain, please
|
||||
do not hesitate to contact `Odoo Support <https://www.odoo.com/help>`_ for help in finding a reason.
|
||||
|
||||
Note: in such case, one of the most common reasons is related to :ref:`SPF <email_communication/spf_compliant>`
|
||||
Note: in such case, one of the most common reasons is related to :ref:`SPF <email_communication/spf_compliant>`
|
||||
and/or :ref:`DKIM <email_communication/DKIM_compliant>` configuration.
|
||||
|
||||
Why is my email sent late?
|
||||
**************************
|
||||
|
||||
It may happen that you schedule an email campaign but it is not sent on time. We know that
|
||||
we use a delayed job to send emails that we consider as not urgent (Newsletters concept
|
||||
such as mass mailing, marketing automation, events). The system utility **cron** can be used
|
||||
to schedule programs to run automatically at predetermined intervals. We use that policy in order
|
||||
to avoid cluttering the mail servers and prioritize the communication.
|
||||
It may happen that you schedule an email campaign but it is not sent on time. We know that
|
||||
we use a delayed job to send emails that we consider as not urgent (Newsletters concept
|
||||
such as mass mailing, marketing automation, events). The system utility **cron** can be used
|
||||
to schedule programs to run automatically at predetermined intervals. We use that policy in order
|
||||
to avoid cluttering the mail servers and prioritize the communication.
|
||||
|
||||
The emails considered urgent (communication from one person to another one such as
|
||||
Sales Orders, Invoices, Purchase Orders, etc.) are sent directly.
|
||||
The emails considered urgent (communication from one person to another one such as
|
||||
Sales Orders, Invoices, Purchase Orders, etc.) are sent directly.
|
||||
|
||||
.. image:: faq/email-scheduled-later.png
|
||||
:align: center
|
||||
:alt: Email scheduled to be sent later.
|
||||
|
||||
By default, the Mass Mailing cron runs every 60 minutes. So, you should wait maximum an hour
|
||||
By default, the Mass Mailing cron runs every 60 minutes. So, you should wait maximum an hour
|
||||
before the campaign is actually sent.
|
||||
|
||||
Incoming emails
|
||||
===============
|
||||
|
||||
When you have an issue with incoming emails, there might not be an indication per se in Odoo.
|
||||
This is the client who tries to contact a database who will get a bounce (most of the
|
||||
When you have an issue with incoming emails, there might not be an indication per se in Odoo.
|
||||
This is the client who tries to contact a database who will get a bounce (most of the
|
||||
time 550: mailbox unavailable).
|
||||
|
||||
Emails are not received
|
||||
@@ -127,22 +127,22 @@ Depending on the platform you are using:
|
||||
|
||||
- The **Odoo.sh** users can find their live logs on the folder :file:`~/logs/`.
|
||||
|
||||
- The folder :file:`~/logs/` (preferably accessed by the command line) of an Odoo.sh contains
|
||||
a list of files containing the logs of the database. The log files are created everyday
|
||||
at 5:00 AM UTC. The two last days are not compressed, while the older ones are, in order
|
||||
to gain space. The naming of the files for Today and Yesterday are :file:`odoo.log` and
|
||||
- The folder :file:`~/logs/` (preferably accessed by the command line) of an Odoo.sh contains
|
||||
a list of files containing the logs of the database. The log files are created everyday
|
||||
at 5:00 AM UTC. The two last days are not compressed, while the older ones are, in order
|
||||
to gain space. The naming of the files for Today and Yesterday are :file:`odoo.log` and
|
||||
:file:`odoo.log.1`. For the following, they are named with their dates and compressed.
|
||||
See the Odoo.sh documentation about :ref:`logs <odoosh/logs>`. Use the command ``grep`` and
|
||||
See the Odoo.sh documentation about :ref:`logs <odoosh/logs>`. Use the command ``grep`` and
|
||||
``zgrep`` (for the compressed ones) to search through the files.
|
||||
|
||||
- **Odoo Online** users won’t have access to their logs. However you can still contact
|
||||
`Odoo Support <https://www.odoo.com/help>`_ , if you have a recurring issue
|
||||
`Odoo Support <https://www.odoo.com/help>`_ , if you have a recurring issue
|
||||
with the same client or domain.
|
||||
|
||||
Get help from support
|
||||
---------------------
|
||||
|
||||
In order to get helped efficiently, please provide as much information as possible. Here is a list
|
||||
In order to get helped efficiently, please provide as much information as possible. Here is a list
|
||||
of what can be helpful:
|
||||
|
||||
- The **EML** of the email, stating for *Electronic Mail*, is the file format containing all the
|
||||
|
||||
Reference in New Issue
Block a user