[ADD] email_communication: new documentation regarding general emailing
Creation of a new submenu under Applications/General for the Email communication. Moved advanced of dicuss to this new submenu + adding of content regarding frequently asked question in support. Redirection has been done on other files pointing to Discuss/Advanced to match the new folder email_communication. Modified content in: - Email servers: split and move configuration part under email_domain - Email domain: covering information about SPF DKIM and DMARC configurations by JQU - Email templates: (how to use the functions) by GOR - Email common: answering frequently asked questions + common issues by ALA closes odoo/documentation#1092 Signed-off-by: Vergote Baptiste (bve) <bve@odoo.com>
@ -44,4 +44,4 @@ For Exim
|
|||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
If you don't have access/manage your email server, use :ref:`inbound messages
|
If you don't have access/manage your email server, use :ref:`inbound messages
|
||||||
<discuss/email_servers/inbound_messages>`.
|
<email_communication/inbound_messages>`.
|
||||||
|
@ -213,6 +213,8 @@ This link contains various monitoring metrics of the current build.
|
|||||||
You can zoom, change the time range or select a specific metric on each graph.
|
You can zoom, change the time range or select a specific metric on each graph.
|
||||||
On the graphs, annotations help you relate to changes on the build (database import, git push, etc...).
|
On the graphs, annotations help you relate to changes on the build (database import, git push, etc...).
|
||||||
|
|
||||||
|
.. _odoosh/logs:
|
||||||
|
|
||||||
Logs
|
Logs
|
||||||
----
|
----
|
||||||
A viewer to have a look to your server logs.
|
A viewer to have a look to your server logs.
|
||||||
@ -382,7 +384,9 @@ we are considering the feature if there is enough demand.
|
|||||||
In case the domain of your users email addresses use SPF (Sender Policy Framework) or DKIM
|
In case the domain of your users email addresses use SPF (Sender Policy Framework) or DKIM
|
||||||
(DomainKeys Identified Mail), don't forget to authorize Odoo as a sending host in your domain name
|
(DomainKeys Identified Mail), don't forget to authorize Odoo as a sending host in your domain name
|
||||||
settings to increase the deliverability of your outgoing emails.
|
settings to increase the deliverability of your outgoing emails.
|
||||||
The configuration steps are explained in the :ref:`Discuss app documentation <discuss-email_servers-spf-compliant>`.
|
The configuration steps are explained in the documentation about :ref:`SPF
|
||||||
|
<email_communication/spf_compliant>` and :ref:`DKIM <email_communication/dkim_compliant>`.
|
||||||
|
|
||||||
|
|
||||||
.. Warning::
|
.. Warning::
|
||||||
Forgetting to configure your SPF or DKIM to authorize Odoo as a sending host can lead to the
|
Forgetting to configure your SPF or DKIM to authorize Odoo as a sending host can lead to the
|
||||||
|
@ -25,8 +25,7 @@ elettronica sono i seguenti:
|
|||||||
di posta elettronica certificata sono fornite dal tuo fornitore o dal
|
di posta elettronica certificata sono fornite dal tuo fornitore o dal
|
||||||
Ministero. Lo stesso server deve essere configurato come server che
|
Ministero. Lo stesso server deve essere configurato come server che
|
||||||
gestisce tutta la corrispondenza mail in Odoo, per saperne di più si
|
gestisce tutta la corrispondenza mail in Odoo, per saperne di più si
|
||||||
può consultare la relativa :doc:`guida
|
può consultare la relativa :doc:`guida </applications/general/email_communication/email_servers>`.
|
||||||
</applications/productivity/discuss/advanced/email_servers>`.
|
|
||||||
|
|
||||||
- Indirizzo PEC dell’Azienda, tale indirizzo deve essere lo stesso
|
- Indirizzo PEC dell’Azienda, tale indirizzo deve essere lo stesso
|
||||||
registrato presso l’Agenzia delle Entrate per l’utilizzo dei servizi
|
registrato presso l’Agenzia delle Entrate per l’utilizzo dei servizi
|
||||||
|
@ -8,6 +8,8 @@ Miscellaneous
|
|||||||
general/auth
|
general/auth
|
||||||
general/apps_modules
|
general/apps_modules
|
||||||
general/export_import_data
|
general/export_import_data
|
||||||
|
general/email_communication
|
||||||
general/voip
|
general/voip
|
||||||
general/in_app_purchase
|
general/in_app_purchase
|
||||||
general/developer_mode
|
general/developer_mode
|
||||||
|
|
13
content/applications/general/email_communication.rst
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
:nosearch:
|
||||||
|
|
||||||
|
===================
|
||||||
|
Email Communication
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
|
||||||
|
email_communication/email_servers
|
||||||
|
email_communication/email_domain
|
||||||
|
email_communication/email_template
|
||||||
|
email_communication/faq
|
@ -0,0 +1,164 @@
|
|||||||
|
========================
|
||||||
|
Sending emails with Odoo
|
||||||
|
========================
|
||||||
|
|
||||||
|
Using your email domain in Odoo
|
||||||
|
===============================
|
||||||
|
|
||||||
|
Documents in Odoo (a CRM opportunity, a sales order, an invoice ...) have a discussion thread,
|
||||||
|
called *chatter*.
|
||||||
|
|
||||||
|
When you post a message in the chatter, this message is sent by email to the followers of the
|
||||||
|
document. If a follower replies to the message, the reply updates the chatter, and Odoo relays the
|
||||||
|
reply to the followers.
|
||||||
|
|
||||||
|
Emails from your users to partners (customers, vendors) are sent from the email address of your
|
||||||
|
users. Similarly, emails from partners to users are sent from the email address of the partners.
|
||||||
|
This allows you to recognize at a glance who sent an email relayed by Odoo.
|
||||||
|
|
||||||
|
If your database is hosted on our cloud (Odoo Online or Odoo.sh), it is not necessary to add an
|
||||||
|
outgoing email server to send emails from your custom domain. You can enjoy this feature by using
|
||||||
|
the default Odoo email server.
|
||||||
|
|
||||||
|
.. 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
|
||||||
|
information.
|
||||||
|
|
||||||
|
However, it is recommended that you configure your domain name to ensure that emails from your
|
||||||
|
users reach your partners, rather than being considered spam.
|
||||||
|
|
||||||
|
For the same reason, we recommend that you always give your users an email address from a domain
|
||||||
|
you manage, rather than a generic email address (gmail.com, outlook.com, etc.).
|
||||||
|
|
||||||
|
.. _email_communication/spf_compliant:
|
||||||
|
|
||||||
|
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
|
||||||
|
to the SPF record of the sender.
|
||||||
|
|
||||||
|
.. 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
|
||||||
|
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
|
||||||
|
follows:
|
||||||
|
|
||||||
|
``v=spf1 include:_spf.odoo.com ~all``
|
||||||
|
|
||||||
|
If your domain name already has an SPF record, you need to update this record (and do not create a
|
||||||
|
new one).
|
||||||
|
|
||||||
|
.. example::
|
||||||
|
|
||||||
|
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
|
||||||
|
`MXToolbox SPF <https://mxtoolbox.com/spf.aspx>`_.
|
||||||
|
|
||||||
|
.. _email_communication/DKIM_compliant:
|
||||||
|
|
||||||
|
Enable DKIM
|
||||||
|
===========
|
||||||
|
|
||||||
|
The DomainKeys Identified Mail (DKIM) allows you to authenticate your emails with a digital signature.
|
||||||
|
|
||||||
|
When sending an email, the Odoo server includes a unique DKIM signature in the headers. The
|
||||||
|
recipient's server decrypts this signature using the DKIM record in your domain name. If the
|
||||||
|
signature and the key contained in the record match, this guarantees that your message is authentic
|
||||||
|
and has not been altered during transport.
|
||||||
|
|
||||||
|
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
|
||||||
|
`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
|
||||||
|
`DKIM Core <https://dkimcore.org/tools/>`_. If a selector is asked, enter `odoo`.
|
||||||
|
|
||||||
|
Check your DMARC policy
|
||||||
|
=======================
|
||||||
|
|
||||||
|
The Domain-based Message Authentication, Reporting & Conformance (DMARC) is a protocol that unifies SPF
|
||||||
|
and DKIM. The instructions contained in the DMARC record of a domain name tell the destination
|
||||||
|
server what to do with an incoming email that fails the SPF and/or DKIM check.
|
||||||
|
|
||||||
|
There are three DMARC policies:
|
||||||
|
- ``p=none``
|
||||||
|
- ``p=quarantine``
|
||||||
|
- ``p=reject``
|
||||||
|
|
||||||
|
``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
|
||||||
|
to be SPF compliant or to enable DKIM.
|
||||||
|
|
||||||
|
.. danger::
|
||||||
|
Yahoo or AOL are examples of email providers with a DMARC policy set to ``p=reject``. We
|
||||||
|
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
|
||||||
|
should not impact the deliverability if the DMARC check fails.
|
||||||
|
|
||||||
|
You can check the DMARC record of a domain name with a tool like
|
||||||
|
`MXToolbox DMARC <https://mxtoolbox.com/DMARC.aspx>`_.
|
||||||
|
|
||||||
|
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
|
||||||
|
email address of the partner with a default email address.
|
||||||
|
|
||||||
|
.. _email_communication/SPFDKIM_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/>`_
|
||||||
|
- `OVH SPF <https://docs.ovh.com/us/en/domains/web_hosting_the_spf_record/>`_
|
||||||
|
- `GoDaddy TXT record <https://www.godaddy.com/help/add-a-txt-record-19232>`_
|
||||||
|
- `GoDaddy SPF <https://www.godaddy.com/help/add-an-spf-record-19218>`_
|
||||||
|
- `GoDaddy DKIM <https://www.godaddy.com/help/add-a-cname-record-19236>`_
|
||||||
|
- `NameCheap <https://www.namecheap.com/support/knowledgebase/article.aspx/317/2237/how-do-i-add-txtspfdkimdmarc-records-for-my-domain/>`_
|
||||||
|
- `CloudFlare DNS <https://support.cloudflare.com/hc/en-us/articles/360019093151>`_
|
||||||
|
- `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
|
||||||
|
also be used for other lesser known providers.
|
||||||
|
|
||||||
|
Use a default email address
|
||||||
|
===========================
|
||||||
|
|
||||||
|
To force the email address from which emails are sent, you need to create one of these two keys in
|
||||||
|
the System Parameters of the database:
|
||||||
|
|
||||||
|
- If ``mail.force.smtp.from`` is set, all outgoing emails are sent 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>`_.
|
||||||
|
- If ``mail.dynamic.smtp.from`` is set, the from email address is replaced by the given one if the
|
||||||
|
domain does not match the domain set in `mail.catchall.domain`.
|
||||||
|
|
||||||
|
You access the **System Parameters** in :ref:`developer mode <developer-mode>` in the :menuselection:`Settings -->
|
||||||
|
Technical --> Parameters --> System Parameters` menu.
|
@ -1,6 +1,6 @@
|
|||||||
============================================================
|
====================================================
|
||||||
How to Use my Mail Server to Send and Receive Emails in Odoo
|
Send and Receive Emails in Odoo with an Email Server
|
||||||
============================================================
|
====================================================
|
||||||
|
|
||||||
If you are a user of Odoo Online or Odoo.sh...
|
If you are a user of Odoo Online or Odoo.sh...
|
||||||
==============================================
|
==============================================
|
||||||
@ -17,34 +17,34 @@ Scope of this documentation
|
|||||||
|
|
||||||
This document is **mainly dedicated to Odoo on-premise users** who don't
|
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,
|
benefit from an out-of-the-box solution to send and receive emails in Odoo,
|
||||||
unlike `Odoo Online <https://www.odoo.com/trial>`__ & `Odoo.sh <https://www.odoo.sh>`__.
|
unlike `Odoo Online <https://www.odoo.com/trial>`_ & `Odoo.sh <https://www.odoo.sh>`_.
|
||||||
|
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
If no one in your company is used to manage email servers, we strongly recommend that
|
If no one in your company is used to manage email servers, we strongly recommend that
|
||||||
you opt for those Odoo hosting solutions. Their email system
|
you opt for those Odoo hosting solutions. Their email system
|
||||||
works instantly and is monitored by professionals.
|
works instantly and is monitored by professionals.
|
||||||
Nevertheless you can still use your own email servers if you want
|
Nevertheless you can still use your own email servers if you want
|
||||||
to manage your email server's reputation yourself.
|
to manage your email server's reputation yourself.
|
||||||
|
|
||||||
You will find here below some useful
|
You will find here some useful
|
||||||
information on how to integrate your own email solution with Odoo.
|
information on how to integrate your own email solution with Odoo.
|
||||||
|
|
||||||
.. note:: Office 365 email servers don't easily allow to send external emails from hosts like Odoo.
|
.. note::
|
||||||
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>`__
|
Office 365 email servers don't easily allow to send external emails from hosts like Odoo. Refer
|
||||||
to make it work.
|
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>`_
|
||||||
|
to make it work.
|
||||||
|
|
||||||
How to manage outbound messages
|
How to manage outbound messages
|
||||||
===============================
|
===============================
|
||||||
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, click *Outgoing Mail Servers* to create one and reference
|
||||||
Then, click *Outgoing Mail Servers* to create one and reference the SMTP data of your email server.
|
the SMTP data of your email server. Once all the information has been filled out, click on
|
||||||
Once all the information has been filled out, click on *Test Connection*.
|
*Test Connection*.
|
||||||
|
|
||||||
Here is a typical configuration for a G Suite server.
|
Here is a typical configuration for a G Suite server.
|
||||||
|
|
||||||
.. image:: media/outgoing_server.png
|
.. image:: email_servers/outgoing-server.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Then set your email domain name in the General Settings.
|
Then set your email domain name in the General Settings.
|
||||||
@ -61,9 +61,10 @@ Can I use an Office 365 server
|
|||||||
------------------------------
|
------------------------------
|
||||||
You can use an Office 365 server if you run Odoo on-premise.
|
You can use an Office 365 server if you run Odoo on-premise.
|
||||||
Office 365 SMTP relays are not compatible with Odoo Online unless you configure
|
Office 365 SMTP relays are not compatible with Odoo Online unless you configure
|
||||||
Odoo to force the outgoing "From" address (see below).
|
Odoo to :ref:`force the outgoing "From" address <email_communication/default_from>` .
|
||||||
|
|
||||||
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>`__
|
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>`_
|
||||||
to configure a SMTP relay for your Odoo's IP address.
|
to configure a SMTP relay for your Odoo's IP address.
|
||||||
|
|
||||||
How to use a G Suite server
|
How to use a G Suite server
|
||||||
@ -72,53 +73,23 @@ You can use an G Suite server for any Odoo hosting type.
|
|||||||
To do so you need to setup the SMTP relay service. The configuration steps are explained in
|
To do so you need to setup the SMTP relay service. The configuration steps are explained in
|
||||||
`Google documentation <https://support.google.com/a/answer/2956491?hl=en>`__.
|
`Google documentation <https://support.google.com/a/answer/2956491?hl=en>`__.
|
||||||
|
|
||||||
.. _discuss-email_servers-spf-compliant:
|
|
||||||
|
|
||||||
Be SPF-compliant
|
|
||||||
----------------
|
|
||||||
In case you use SPF (Sender Policy Framework) to increase the deliverability
|
|
||||||
of your outgoing emails, don't forget to authorize Odoo as a sending host in your
|
|
||||||
domain name settings. Here is the configuration for Odoo Online:
|
|
||||||
|
|
||||||
* If no TXT record is set for SPF, create one with following definition:
|
|
||||||
v=spf1 include:_spf.odoo.com ~all
|
|
||||||
* 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:
|
|
||||||
v=spf1 include:_spf.odoo.com include:_spf.google.com ~all
|
|
||||||
|
|
||||||
Find `here <https://www.mail-tester.com/spf/>`__ the exact procedure to
|
|
||||||
create or modify TXT records in your own domain registrar.
|
|
||||||
|
|
||||||
Your new SPF record can take up to 48 hours to go into effect,
|
|
||||||
but this usually happens more quickly.
|
|
||||||
|
|
||||||
.. note:: Adding more than one SPF record for a domain can cause problems
|
|
||||||
with mail delivery and spam classification. Instead, we recommend using
|
|
||||||
only one SPF record by modifying it to authorize Odoo.
|
|
||||||
|
|
||||||
Allow DKIM
|
|
||||||
----------
|
|
||||||
You should do the same thing if DKIM (Domain Keys Identified Mail)
|
|
||||||
is enabled on your email server. In the case of Odoo Online & Odoo.sh,
|
|
||||||
you should add a DNS "odoo._domainkey" CNAME record to
|
|
||||||
"odoo._domainkey.odoo.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".
|
|
||||||
|
|
||||||
Restriction
|
Restriction
|
||||||
-----------
|
-----------
|
||||||
Please note that the port 25 is blocked for security reasons. Try using 587, 465 or 2525.
|
Please note that port 25 is blocked for security reasons on our SaaS and Odoo.sh platform. Try using
|
||||||
|
465, 587, or 2525.
|
||||||
|
|
||||||
Choose allowed "From" email addresses
|
.. _email_communication/default_from:
|
||||||
-------------------------------------
|
|
||||||
|
|
||||||
Sometimes, an email's "From" (outgoing) address can belong to a different
|
Use a default "From" email address
|
||||||
domain, and that can be a problem.
|
----------------------------------
|
||||||
|
|
||||||
|
Sometimes, an email's "From" (outgoing) address can belong to a
|
||||||
|
different domain, and that can be a problem.
|
||||||
|
|
||||||
For example, if a customer with address *mary@customer.example.com* responds to
|
For example, if a customer with address *mary@customer.example.com* responds to
|
||||||
a message, Odoo will try to redistribute that same email to other subscribers
|
a message, Odoo will try to redistribute that same email to other subscribers
|
||||||
in the thread. But if the domain *customer.example.com* forbids that kind of
|
in the thread. But if the domain *customer.example.com* forbids that kind of
|
||||||
usage for security (kudos for that), the Odoo's redistributed email would get
|
usage for security, the Odoo's redistributed email would get
|
||||||
rejected by some recipients' mail servers.
|
rejected by some recipients' mail servers.
|
||||||
|
|
||||||
To avoid those kind of problems, you should make sure all emails use a "From"
|
To avoid those kind of problems, you should make sure all emails use a "From"
|
||||||
@ -133,7 +104,7 @@ Instead, you can also configure Odoo to do something similar by itself:
|
|||||||
|
|
||||||
#. Set your domain name in the General Settings.
|
#. Set your domain name in the General Settings.
|
||||||
|
|
||||||
.. image:: media/alias_domain.png
|
.. image:: email_servers/alias-domain.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
#. In developer mode, go to :menuselection:`Settings --> Technical -->
|
#. In developer mode, go to :menuselection:`Settings --> Technical -->
|
||||||
@ -151,7 +122,7 @@ Instead, you can also configure Odoo to do something similar by itself:
|
|||||||
that should be used in those cases (such as
|
that should be used in those cases (such as
|
||||||
``outgoing@mycompany.example.com``).
|
``outgoing@mycompany.example.com``).
|
||||||
|
|
||||||
.. _discuss/email_servers/inbound_messages:
|
.. _email_communication/inbound_messages:
|
||||||
|
|
||||||
How to manage inbound messages
|
How to manage inbound messages
|
||||||
==============================
|
==============================
|
||||||
@ -187,7 +158,7 @@ alias in your mail server.
|
|||||||
(catchall@, bounce@, sales@, etc.).
|
(catchall@, bounce@, sales@, etc.).
|
||||||
* Set your domain name in the General Settings.
|
* Set your domain name in the General Settings.
|
||||||
|
|
||||||
.. image:: media/alias_domain.png
|
.. image:: email_servers/alias-domain.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
* If you use Odoo on-premise, create an *Incoming Mail Server* in Odoo for each alias.
|
* If you use Odoo on-premise, create an *Incoming Mail Server* in Odoo for each alias.
|
||||||
@ -196,7 +167,7 @@ alias in your mail server.
|
|||||||
Leave the *Actions to Perform on Incoming Mails* blank. Once all the
|
Leave the *Actions to Perform on Incoming Mails* blank. Once all the
|
||||||
information has been filled out, click on *TEST & CONFIRM*.
|
information has been filled out, click on *TEST & CONFIRM*.
|
||||||
|
|
||||||
.. image:: media/incoming_server.png
|
.. image:: email_servers/incoming-server.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
* If you use Odoo Online or Odoo.sh, We do recommend to redirect incoming messages
|
* If you use Odoo Online or Odoo.sh, We do recommend to redirect incoming messages
|
||||||
@ -214,7 +185,7 @@ alias in your mail server.
|
|||||||
Then go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters`
|
Then go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters`
|
||||||
to customize the aliases (*mail.catchall.alias* & * mail.bounce.alias*).
|
to customize the aliases (*mail.catchall.alias* & * mail.bounce.alias*).
|
||||||
|
|
||||||
.. image:: media/system_parameters.png
|
.. image:: email_servers/system-parameters.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. note:: By default inbound messages are fetched every 5 minutes in Odoo on-premise.
|
.. note:: By default inbound messages are fetched every 5 minutes in Odoo on-premise.
|
||||||
@ -222,13 +193,11 @@ alias in your mail server.
|
|||||||
Go to :menuselection:`Settings --> Technical --> Automation -->
|
Go to :menuselection:`Settings --> Technical --> Automation -->
|
||||||
Scheduled Actions` and look for *Mail: Fetchmail Service*.
|
Scheduled Actions` and look for *Mail: Fetchmail Service*.
|
||||||
|
|
||||||
.. _Office 365 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
|
|
||||||
|
|
||||||
Set up different dedicated servers for transactional and mass mails
|
Set up different dedicated servers for transactional and mass mails
|
||||||
===================================================================
|
===================================================================
|
||||||
|
|
||||||
Odoo's e-mail server has the capability of sending 200 e-mails per day on Odoo SH Cloud Platform.
|
Odoo is subject to a :ref:`daily email limit <email_communication/daily_limit_mail>` to prevent abuse.
|
||||||
However, if needed, you can use a separate Mail Transfer Agent (MTA) servers for transactional
|
However, if needed, you can use a separate Mail Transfer Agent (MTA) servers for transactional
|
||||||
e-mails and mass mailings.
|
e-mails and mass mailings.
|
||||||
Example: use Odoo's own mail server for transactional e-mails, and Sendgrid, Amazon SES, or Mailgun
|
Example: use Odoo's own mail server for transactional e-mails, and Sendgrid, Amazon SES, or Mailgun
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
@ -0,0 +1,300 @@
|
|||||||
|
===============
|
||||||
|
Email Templates
|
||||||
|
===============
|
||||||
|
|
||||||
|
We all know writing good emails is vital to get a high response rate, but you do not want to
|
||||||
|
rewrite the same structure every time, do you? That is where email templates come in.
|
||||||
|
Without the need to rewrite the entire email structure every time, you save time to focus on
|
||||||
|
the content. Multiple templates also let you deliver the right message to the right audience,
|
||||||
|
improving their overall experience with the company.
|
||||||
|
|
||||||
|
Enable it and understand a few concepts
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
The :ref:`Developer mode <developer-mode>` must be activated). Then, go to
|
||||||
|
:menuselection:`Settings --> Technical --> Templates`. A view of the existing templates is shown.
|
||||||
|
|
||||||
|
.. danger::
|
||||||
|
It is highly recommended not to change the content in existing templates unless the user has
|
||||||
|
prior knowledge about placeholders.
|
||||||
|
|
||||||
|
To add a new one, click on *Create* and choose the type of document this template is used with. In
|
||||||
|
the example below, the template would be sent to job applicants.
|
||||||
|
|
||||||
|
.. image:: email_template/new-template-creation.png
|
||||||
|
:align: center
|
||||||
|
:alt: New email template form in Odoo
|
||||||
|
|
||||||
|
| Under *Email Configuration*, fields such as *From*, *To (Emails)*, *To (Partners)*, require
|
||||||
|
placeholders. If the *From* field is not set, the default value is the author’s email alias, if
|
||||||
|
configured, or email address.
|
||||||
|
| Under *Advanced Settings*, if an *Outgoing Mail Server* is not set, the one with the highest
|
||||||
|
priority is used.
|
||||||
|
| The option *Auto Delete* permanently deletes the emails after they are sent, saving space in your
|
||||||
|
database.
|
||||||
|
|
||||||
|
Writing content including placeholder expressions
|
||||||
|
-------------------------------------------------
|
||||||
|
|
||||||
|
A placeholder is a string of characters that temporarily takes the place of the final data. With
|
||||||
|
email templates, for example, placeholders let you put dynamic content in order to personalize
|
||||||
|
the email for the recipient.
|
||||||
|
|
||||||
|
A common use is to use it to indicate the name of the recipient in the newsletter so that each
|
||||||
|
recipient gets a personalized newsletter.
|
||||||
|
|
||||||
|
Placeholders and more specifically fields that are available for a template will depend on the
|
||||||
|
template you modify. One way to see the fields that are available is to check the Dynamic
|
||||||
|
Placeholder Generator tab.
|
||||||
|
|
||||||
|
.. _email_communication/dynamic_placeholder_generator:
|
||||||
|
|
||||||
|
#. Under the tab *Dynamic Placeholder Generator*, look for the *Field* you would like to use.
|
||||||
|
|
||||||
|
.. image:: email_template/placeholders.png
|
||||||
|
:alt: View of the dynamic placeholder generator tab under a new template in Odoo
|
||||||
|
|
||||||
|
#. Next, copy the *Placeholder Expression* and paste it in the *Body* of the email, under the *Content*
|
||||||
|
tab, using - essentially - the *Code View*.
|
||||||
|
|
||||||
|
.. image:: email_template/codeview.png
|
||||||
|
:alt: View of the body code view under the content tab in Odoo
|
||||||
|
|
||||||
|
#. Deactivate the *Code View* option by simply clicking on it again, and easily design the message.
|
||||||
|
Click on *Preview* to check how the email looks before sending it.
|
||||||
|
|
||||||
|
.. image:: email_template/preview.png
|
||||||
|
:alt: View of the content with the standard body view in Odoo
|
||||||
|
|
||||||
|
Using functions with placeholders
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
Functions can be used along with your placeholders in order to format the data as you'd like within
|
||||||
|
your mail templates, for example, the time format can be changed using a function such
|
||||||
|
as ``format_time``.
|
||||||
|
|
||||||
|
In order to use functions, you have to know the available fields to format. To know that, you have
|
||||||
|
to check the fields (the properties) of the object that are available to be used.
|
||||||
|
|
||||||
|
Checking the fields (properties) available on the object
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
To check the **fields available**, click on the link next to Applies to. For the example we use
|
||||||
|
the Portal: new user template, so we click on Portal user Config.
|
||||||
|
|
||||||
|
.. image:: email_template/apply-to-model.png
|
||||||
|
:align: center
|
||||||
|
:alt: Template is capable of using the field of the defined Models.
|
||||||
|
|
||||||
|
By clicking on the link, you are redirected to the model, in this case the ``Portal user Config``
|
||||||
|
model that lists all the fields that you can use within your mail template.
|
||||||
|
|
||||||
|
.. image:: email_template/fields-of-model.png
|
||||||
|
:align: center
|
||||||
|
:alt: Existing fields of a model
|
||||||
|
|
||||||
|
As a side note, you can also see the fields that are available by accessing the dynamic placeholder
|
||||||
|
generator, as described :ref:`previously <email_communication/dynamic_placeholder_generator>`.
|
||||||
|
|
||||||
|
See below an example with the email field that was added in the template and its result as well as
|
||||||
|
some other placeholders already present by default.
|
||||||
|
|
||||||
|
.. image:: email_template/field-and-rendering.png
|
||||||
|
:align: center
|
||||||
|
:alt: Adding a field on a template and see the result
|
||||||
|
|
||||||
|
Using fields with functions
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Now that you know the *fields* that can be used, you can use one of them with a function. For this
|
||||||
|
example, we add the creation date, *create_date* field to the body of the template ‘Portal: new user’
|
||||||
|
along with the ``format_date`` function so that the user knows when he was invited.
|
||||||
|
|
||||||
|
.. image:: email_template/format-date-functions-example.png
|
||||||
|
:align: center
|
||||||
|
:alt: Example of the format_date on a create_date field
|
||||||
|
|
||||||
|
As you can see we use the placeholder `${}` with the ``format_date`` function which uses as a
|
||||||
|
parameter the field create_date available on the current object, this gives the following line
|
||||||
|
of code ``${format_date(object.create_date)}``.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
It's really important to check that the preview is working, if it's broken your template
|
||||||
|
might appear totally blank when previewing it. We also recommend not changing the content
|
||||||
|
in existing templates unless you have prior knowledge. We highly recommend duplicating the
|
||||||
|
template and apply your changes within this one.
|
||||||
|
|
||||||
|
Find below the result of the e-mail received in the recipient's mailbox with the modifications
|
||||||
|
applied.
|
||||||
|
|
||||||
|
.. image:: email_template/rendering-format-date-function.png
|
||||||
|
:align: center
|
||||||
|
:alt: Rendering of the format_date function on a create_date field
|
||||||
|
|
||||||
|
Still by using the ``format_date`` function, you have the possibility to adapt the format of the
|
||||||
|
date just in a specific email by specifying the formatting of the date as a second parameter.
|
||||||
|
If not specified, the format used by default is the one defined in the settings of the language.
|
||||||
|
More information on how to access these parameters can be found :ref:`here <email_communication/usable_functions>`.
|
||||||
|
|
||||||
|
In order to adapt the date format, the piece of code used in the above example
|
||||||
|
``${format_date(object.create_date)}`` becomes ``${format_date(object.create_date, date_format='dd -- MM -- YYYY')}``
|
||||||
|
here dd is the day, MM the month and YYYY the year.
|
||||||
|
|
||||||
|
Here is the result once the function is adapted in the template.
|
||||||
|
|
||||||
|
.. image:: email_template/adapted-rendering-format-date-function.png
|
||||||
|
:align: center
|
||||||
|
:alt: Adapted rendering of the format_date
|
||||||
|
|
||||||
|
.. _email_communication/usable_functions:
|
||||||
|
|
||||||
|
Functions used by default within email templates
|
||||||
|
************************************************
|
||||||
|
|
||||||
|
To format your data, many functions can be used, here are some examples.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
**This list of functions is not exhaustive**, meaning that all functions that are available
|
||||||
|
aren't listed in the below list, for more functions, we invite you to check the `babel <http://babel.pocoo.org/en/latest/api/dates.html>`_
|
||||||
|
documentation, last but not least, modifications on the templates are considered as
|
||||||
|
customization and isn’t covered by our support.
|
||||||
|
|
||||||
|
For the following examples, we will introduce mostly some date functions. By default, the format
|
||||||
|
of the date used is the one defined in the settings of the language.
|
||||||
|
|
||||||
|
These settings can only be accessed when the :ref:`developer mode <developer-mode>` is enabled.
|
||||||
|
Once developer is enabled go to :menuselection:`Settings --> Translations --> Languages` and click
|
||||||
|
on one of the languages to see all the settings such as the time format or date format used by
|
||||||
|
the language.
|
||||||
|
|
||||||
|
- **format_date()** - formats the date (without the time).
|
||||||
|
|
||||||
|
Can be found on the template `Purchase Order: Send PO`:
|
||||||
|
|
||||||
|
.. image:: email_template/po-template-format-date.png
|
||||||
|
:align: center
|
||||||
|
:alt: Code of the format_date on existing template Purchase
|
||||||
|
|
||||||
|
The result will look like this:
|
||||||
|
|
||||||
|
.. image:: email_template/po-template-format-date-rendering.png
|
||||||
|
:align: center
|
||||||
|
:alt: Rendering of the format_date on existing template Purchase
|
||||||
|
|
||||||
|
- **format_datetime()** - formats the datetime, defining a specific timezone, in this case Central
|
||||||
|
European Time (CET).
|
||||||
|
|
||||||
|
Can be found on the template `Event: Registration`.
|
||||||
|
|
||||||
|
.. image:: email_template/event-reg-template-format-datetime.png
|
||||||
|
:align: center
|
||||||
|
:alt: Code of the format_datetime on existing template Event
|
||||||
|
|
||||||
|
The result will look like this:
|
||||||
|
|
||||||
|
.. image:: email_template/event-reg-template-format-datetime-rendering.png
|
||||||
|
:align: center
|
||||||
|
:alt: Rendering of the format_datetime on existing template Event
|
||||||
|
|
||||||
|
- **format_time()** - Similar to the format_datetime function except It's used only for the time,
|
||||||
|
not a date.
|
||||||
|
|
||||||
|
- **format_amount()** - Formats a number, an amount to display the currency depending on the display
|
||||||
|
setting that has been defined on the currency (the :ref:`debug mode <developer-mode>` must be
|
||||||
|
activated to see this feature) :menuselection:`Accounting --> Configuration --> Currencies`
|
||||||
|
(before or after the amount depending on the convention).
|
||||||
|
|
||||||
|
.. image:: email_template/so-template-format-amount.png
|
||||||
|
:align: center
|
||||||
|
:alt: Code of the format_amount on existing template Sales Order
|
||||||
|
|
||||||
|
Which will look like this:
|
||||||
|
|
||||||
|
.. image:: email_template/so-template-format-amount-rendering.png
|
||||||
|
:align: center
|
||||||
|
:alt: Rendering of the format_amount on existing template Sales Order
|
||||||
|
|
||||||
|
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
|
||||||
|
composer with possible values to define:
|
||||||
|
|
||||||
|
.. image:: email_template/composer-mass-mailing-quotations.png
|
||||||
|
:align: center
|
||||||
|
:alt: Composer in mass mailing mode after selecting multiple quotations.
|
||||||
|
|
||||||
|
You can also define them by default on the template:
|
||||||
|
|
||||||
|
.. image:: email_template/reply-to-template-sales.png
|
||||||
|
: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
|
||||||
|
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
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
When using Odoo, multiple events trigger the sending of automated emails. These emails are known
|
||||||
|
as transactional emails and sometimes contain links pointing to your Odoo database.
|
||||||
|
|
||||||
|
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 <app-website/web_base_url>`.
|
||||||
|
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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
|
||||||
|
documentation </applications/websites/website/publish/domain_name>`.
|
||||||
|
|
||||||
|
Updating translations within email templates
|
||||||
|
********************************************
|
||||||
|
|
||||||
|
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
|
||||||
|
example modifications leading to bad syntax) can break the template, as a result, the template
|
||||||
|
will appear blank.
|
||||||
|
|
||||||
|
In order to edit your translations, follow these steps from the template.
|
||||||
|
|
||||||
|
#. Click on the edit button, then on the language button
|
||||||
|
|
||||||
|
.. image:: email_template/edit-language-template.png
|
||||||
|
: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
|
||||||
|
here, editing the translations will be possible. Don't forget to hit the save button to preserve
|
||||||
|
your changes.
|
||||||
|
|
||||||
|
.. image:: email_template/translation-body.png
|
||||||
|
:align: left
|
||||||
|
:alt: Translation of the body of the Application template in the different languages installed.
|
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 57 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 201 KiB |
After Width: | Height: | Size: 104 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 57 KiB |
After Width: | Height: | Size: 95 KiB |
After Width: | Height: | Size: 96 KiB |
174
content/applications/general/email_communication/faq.rst
Normal file
@ -0,0 +1,174 @@
|
|||||||
|
===
|
||||||
|
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),
|
||||||
|
and then, of incoming emails (ex: I do not receive responses from my customers in the database).
|
||||||
|
|
||||||
|
Outgoing emails
|
||||||
|
===============
|
||||||
|
|
||||||
|
.. _red_envelop:
|
||||||
|
|
||||||
|
What do you have to check if your email is not sent?
|
||||||
|
----------------------------------------------------
|
||||||
|
|
||||||
|
The first indicator showing you that the email has not been sent is the red envelope next to the
|
||||||
|
date and time of the message.
|
||||||
|
|
||||||
|
.. image:: faq/red-envelop.png
|
||||||
|
:align: center
|
||||||
|
:alt: Red envelope displayed in chatter
|
||||||
|
|
||||||
|
Common error messages
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. _email_communication/daily_limit_mail:
|
||||||
|
|
||||||
|
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
|
||||||
|
our e-mail servers from being blacklisted.
|
||||||
|
|
||||||
|
Here are the default limits for new databases:
|
||||||
|
|
||||||
|
- 200 emails/day for Odoo Online and Odoo.sh databases with an active subscription,
|
||||||
|
|
||||||
|
- 50 emails/day for one-app free and trial databases,
|
||||||
|
|
||||||
|
- in case of migration, your daily limit might be reset to 50 emails a day.
|
||||||
|
|
||||||
|
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
|
||||||
|
depending on (non-exhaustive list):
|
||||||
|
|
||||||
|
- 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
|
||||||
|
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
|
||||||
|
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>`
|
||||||
|
must be activated. Then, go to :menuselection:`Settings --> Technical --> Emails`
|
||||||
|
|
||||||
|
.. image:: faq/email-retry-technical.png
|
||||||
|
:align: center
|
||||||
|
:alt: Retry button of an emails
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
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.
|
||||||
|
|
||||||
|
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
|
||||||
|
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
|
||||||
|
for Odoo to interpret it correctly.
|
||||||
|
|
||||||
|
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>`
|
||||||
|
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.
|
||||||
|
|
||||||
|
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
|
||||||
|
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
|
||||||
|
time 550: mailbox unavailable).
|
||||||
|
|
||||||
|
Emails are not received
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
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
|
||||||
|
: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
|
||||||
|
``zgrep`` (for the compressed ones) to search through the files.
|
||||||
|
|
||||||
|
- The **SaaS** 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
|
||||||
|
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
|
||||||
|
of what can be helpful:
|
||||||
|
|
||||||
|
- The **EML** of the email, stating for *Electronic Mail*, is the file format containing all the
|
||||||
|
technical information required for an investigation. The documentation of your own email provider
|
||||||
|
might help you on how to get your EML files. Once you get the EML of the email, adding it
|
||||||
|
in the attachment of your ticket is the most efficient way for us to investigate. The support
|
||||||
|
will mainly focus on redundant issues.
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
- `Gmail documentation
|
||||||
|
<https://support.google.com/mail/answer/29436>`_
|
||||||
|
- `Outlook documentation
|
||||||
|
<https://support.microsoft.com/en-us/office/view-internet-message-headers-in-outlook-cd039382-dc6e-4264-ac74-c048563d212c#tab=Web>`_
|
||||||
|
|
||||||
|
- The exact flow you are following in order to normally receive those emails in Odoo. Here are
|
||||||
|
examples of questions whose answers can be useful:
|
||||||
|
|
||||||
|
- Is this simply a reply from an email going out from Odoo ?
|
||||||
|
|
||||||
|
- Are you using an incoming email server or somehow redirecting?
|
||||||
|
|
||||||
|
- Can you provide us with an example of an email that has been correctly forwarded ?
|
||||||
|
|
||||||
|
- Providing answers to the following questions:
|
||||||
|
|
||||||
|
- Is it a generic issue or is it specific to a use case? If yes, which one exactly?
|
||||||
|
|
||||||
|
- Is it working as expected? In case the email is sent using Odoo, the bounce email should reach
|
||||||
|
the Odoo database and display the :ref:`red envelope <red_envelop>`.
|
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 12 KiB |
@ -82,6 +82,6 @@ Manage campaigns
|
|||||||
menu within those applications. All of this is possible because the applications work integrated.
|
menu within those applications. All of this is possible because the applications work integrated.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`/applications/productivity/discuss/advanced/email_servers`
|
- :doc:`/applications/general/email_communication/email_servers`
|
||||||
- :doc:`../../social_marketing/overview/campaigns`
|
- :doc:`../../social_marketing/overview/campaigns`
|
||||||
|
|
||||||
|
@ -77,4 +77,4 @@ To set up *SMS Templates*, activate the :ref:`developer mode <developer-mode>`,
|
|||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`../../social_marketing/overview/campaigns`
|
- :doc:`../../social_marketing/overview/campaigns`
|
||||||
- :doc:`/applications/productivity/discuss/advanced/email_template`
|
- :doc:`/applications/general/email_communication/email_servers`
|
||||||
|
@ -11,4 +11,3 @@ Discuss
|
|||||||
:titlesonly:
|
:titlesonly:
|
||||||
|
|
||||||
discuss/overview
|
discuss/overview
|
||||||
discuss/advanced
|
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
:nosearch:
|
|
||||||
|
|
||||||
========
|
|
||||||
Advanced
|
|
||||||
========
|
|
||||||
|
|
||||||
.. toctree::
|
|
||||||
:titlesonly:
|
|
||||||
:glob:
|
|
||||||
|
|
||||||
advanced/email_servers
|
|
||||||
advanced/email_template
|
|
@ -1,59 +0,0 @@
|
|||||||
===============
|
|
||||||
Email Templates
|
|
||||||
===============
|
|
||||||
|
|
||||||
We all know writing good emails is vital to get a high response rate, but you do not want to
|
|
||||||
rewrite the same structure every time, do you? That is where email templates come in.
|
|
||||||
Without the need to rewrite the entire email structure every time, you save time to focus on
|
|
||||||
the content. Multiple templates also let you deliver the right message to the right audience,
|
|
||||||
improving their overall experience with the company.
|
|
||||||
|
|
||||||
Enable it and understand a few concepts
|
|
||||||
=======================================
|
|
||||||
|
|
||||||
The :ref:`developer mode <developer-mode>` must be activated. Then, go to :menuselection:`Settings
|
|
||||||
--> Technical --> Templates`. A view of the existing templates is shown.
|
|
||||||
|
|
||||||
.. warning::
|
|
||||||
**It is highly recommended not to change the content in existing templates unless the user has
|
|
||||||
prior knowledge about placeholders.**
|
|
||||||
|
|
||||||
To add a new one, click on *Create* and choose the type of document this template is used with. In
|
|
||||||
the example below, the template would be sent to job applicants.
|
|
||||||
|
|
||||||
.. image:: media/newtemplate.png
|
|
||||||
:align: center
|
|
||||||
:alt: New email template form in Odoo
|
|
||||||
|
|
||||||
| Under *Email Configuration*, fields such as *From*, *To (Emails)*, *To (Partners)*, require
|
|
||||||
placeholders. If the *From* field is not set, the default value is the author’s email alias, if
|
|
||||||
configured, or email address.
|
|
||||||
| Under *Advanced Settings*, if an *Outgoing Mail Server* is not set, the one with the highest
|
|
||||||
priority is used.
|
|
||||||
| The option *Auto Delete* permanently deletes the emails after they are sent, saving space in your
|
|
||||||
database.
|
|
||||||
|
|
||||||
Writing content including placeholder expressions
|
|
||||||
-------------------------------------------------
|
|
||||||
|
|
||||||
Under the tab *Dynamic Placeholder Generator*, look for the *Field* you would like to use.
|
|
||||||
|
|
||||||
.. image:: media/placeholders.png
|
|
||||||
:align: center
|
|
||||||
:alt: View of the dynamic placeholder generator tab under a new template in Odoo
|
|
||||||
|
|
||||||
Next, copy the *Placeholder Expression* and paste it in the *Body* of the email, under the *Content*
|
|
||||||
tab, using - essentially - the *Code View*.
|
|
||||||
|
|
||||||
.. image:: media/codeview.png
|
|
||||||
:align: center
|
|
||||||
:alt: View of the body code view under the content tab in Odoo
|
|
||||||
|
|
||||||
Deactivate the *Code View* option by simply clicking on it again, and easily design the message.
|
|
||||||
Click on *Preview* to check how the email looks before sending it.
|
|
||||||
|
|
||||||
.. image:: media/preview.png
|
|
||||||
:align: center
|
|
||||||
:alt: View of the content with the standard body view in Odoo
|
|
||||||
|
|
||||||
|
|
@ -7,6 +7,8 @@ and chat. Share information, projects, files, prioritize tasks, and stay connect
|
|||||||
and partners throughout applications. Forge better relationships, increase productivity and
|
and partners throughout applications. Forge better relationships, increase productivity and
|
||||||
transparency by promoting a convenient way of communicating.
|
transparency by promoting a convenient way of communicating.
|
||||||
|
|
||||||
|
.. _discuss_app/notification_preferences:
|
||||||
|
|
||||||
Choose your notifications preference
|
Choose your notifications preference
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
@ -96,4 +98,4 @@ sidebar and on the *Messaging menu*.
|
|||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`/applications/services/project/tasks/collaborate`
|
- :doc:`/applications/services/project/tasks/collaborate`
|
||||||
- :doc:`team_communication`
|
- :doc:`team_communication`
|
||||||
- :doc:`../advanced/email_servers`
|
- :doc:`/applications/general/email_communication/email_servers`
|
||||||
|
@ -47,7 +47,7 @@ For every Trigger option, **conditions** can be applied, such as:
|
|||||||
- *Create New Record*: a new record with new values is created.
|
- *Create New Record*: a new record with new values is created.
|
||||||
- *Update a Record*: updates the record that triggered the action.
|
- *Update a Record*: updates the record that triggered the action.
|
||||||
- *Execute several actions*: defines an action that triggers other server actions.
|
- *Execute several actions*: defines an action that triggers other server actions.
|
||||||
- *Send Email*: an automatic :doc:`email <../../discuss/advanced/email_template>` is sent.
|
- *Send Email*: an automatic :doc:`email </applications/general/email_communication/email_template>` is sent.
|
||||||
- *Add Followers*: :doc:`followers </applications/services/project/tasks/collaborate>` are notified of changes in
|
- *Add Followers*: :doc:`followers </applications/services/project/tasks/collaborate>` are notified of changes in
|
||||||
the task.
|
the task.
|
||||||
- *Create Next Activity*: creates an activity such as: *Call*, *Email*, *Reminder*.
|
- *Create Next Activity*: creates an activity such as: *Call*, *Email*, *Reminder*.
|
||||||
|
@ -86,4 +86,4 @@ the Kanban view.
|
|||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`sla`
|
- :doc:`sla`
|
||||||
- :doc:`../advanced/close_tickets`
|
- :doc:`../advanced/close_tickets`
|
||||||
- :doc:`/applications/productivity/discuss/advanced/email_servers`
|
- :doc:`/applications/general/email_communication/email_servers`
|
||||||
|
@ -12,7 +12,7 @@ Set up an incoming email server
|
|||||||
|
|
||||||
| On the *Settings* application, enable *External Email Servers* and define the incoming email
|
| On the *Settings* application, enable *External Email Servers* and define the incoming email
|
||||||
alias you would like to use.
|
alias you would like to use.
|
||||||
| **For more information**: :doc:`/applications/productivity/discuss/advanced/email_servers`
|
| **For more information**: :doc:`/applications/general/email_communication/email_servers`
|
||||||
|
|
||||||
Configure the email alias in your project
|
Configure the email alias in your project
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
|
@ -94,6 +94,7 @@ In order to get this, simply add your domain name in your customer portal (a sep
|
|||||||
|
|
||||||
If you already use CloudFlare or a similar service, you can keep using it or simply change for Odoo. The choice is yours.
|
If you already use CloudFlare or a similar service, you can keep using it or simply change for Odoo. The choice is yours.
|
||||||
|
|
||||||
|
.. _app-website/web_base_url:
|
||||||
|
|
||||||
How to make sure that all my URLs use my custom domain?
|
How to make sure that all my URLs use my custom domain?
|
||||||
=======================================================
|
=======================================================
|
||||||
@ -117,4 +118,4 @@ Google indexes your website under both names. This is a limitation of the Odoo c
|
|||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
* :doc:`/applications/productivity/discuss/advanced/email_servers`
|
* :doc:`/applications/general/email_communication/email_servers`
|
||||||
|
@ -269,3 +269,7 @@ developer/reference/mobile.rst developer/reference/ja
|
|||||||
developer/reference/qweb.rst developer/reference/javascript/qweb.rst
|
developer/reference/qweb.rst developer/reference/javascript/qweb.rst
|
||||||
|
|
||||||
services/support/supported_versions.rst administration/maintain/supported_versions.rst # services/support/* -> administration/maintain/*
|
services/support/supported_versions.rst administration/maintain/supported_versions.rst # services/support/* -> administration/maintain/*
|
||||||
|
applications/finance/sign/overview/signature_validity.rst applications/finance/sign.rst #sign/overview/signature_validity -> sign/*
|
||||||
|
|
||||||
|
applications/productivity/discuss/advanced/email_servers.rst applications/general/email_communication/email_servers.rst
|
||||||
|
applications/productivity/discuss/advanced/email_template.rst applications/general/email_communication/email_template.rst
|