E-mails verzenden en ontvangen in Odoo met een e-mailserver

Odoo Online of Odoo.sh gebruikers

Omdat Odoo zijn eigen e-mailservers voor de database instelt, werken uitgaande en inkomende e-mails al out-of-the-box. Voor Odoo Online en Odoo.sh klanten is alles dus al geconfigureerd!

Tenzij een externe e-mailserver nodig is om een groot aantal massamails te verzenden, kan je gewoon de standaard online Odoo database gebruiken omdat deze reeds is geconfigureerd om e-mails te versturen.

Belangrijk

De Odoo server heeft een dagelijkse e-maillimiet om misbruik te voorkomen. De standaardlimiet is 200 e-mails per dag voor databases met een Enterprise abonnement. Deze limiet kan onder bepaalde voorwaarden worden verhoogd. Zie de FAQ of neem contact op met het ondersteuningsteam voor meer informatie.

Bereik van deze documentatie

This document is mainly dedicated to Odoo on-premise databases that do not benefit from an out-of-the-box solution to send and receive emails in Odoo, unlike Odoo Online and Odoo.sh. Incoming and outgoing servers must be configured for on-premise databases.

De volgende secties bevatten informatie over hoe je een externe e-mailserver kan integreren met Odoo.

Waarschuwing

Als niemand in het bedrijf e-mailservers beheert, zijn Odoo Online en Odoo.sh sterk aanbevolen. In deze hostingtypes van Odoo werkt het verzenden en ontvangen van e-mails meteen en wordt het gecontroleerd door professionals. Een bedrijf kan echter ook een eigen e-mailserver gebruiken als ze de reputatie van de e-mailserver zelf willen beheren. Voor meer informatie, zie DNS-records configureren om e-mails te verzenden in Odoo

Standaard meldingssysteem

Documenten in Odoo (zoals een CRM verkoopkans, een verkooporder, een factuur, enz.) hebben een thread, chatter genaamd.

Wanneer een databasegebruiker een bericht post in de chatter, wordt dit bericht per e-mail verzonden naar de gebruikers van het document als melding (behalve naar de afzender). Als een volger op het bericht antwoordt, wordt de chatter bijgewerkt en stuurt Odoo nog een antwoord naar de volgers als melding. Berichten die teruggestuurd worden naar de chatter door gebruikers of externe gebruikers verschijnen in de chatter vanuit hun respectievelijke e-mail, of als de naam die vermeld staat in hun Contacten record.

Deze meldingen worden verzonden met behulp van een standaard van-adres. Zie voor meer informatie Een standaard e-mailadres gebruiken.

Uitgaande berichten beheren

As a system administrator, go to Settings ‣ General Settings ‣ Discuss in Odoo, and enable the Custom 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.

Notitie

Zorg ervoor dat het uitgaande domein SPF, DKIM en DMARC heeft ingesteld op het DNS. Het zal de afleverbaarheid verbeteren. Zie voor meer informatie DNS-records configureren om e-mails te versturen in Odoo.

Poortbeperking

Poort 25 is om veiligheidsredenen geblokkeerd op de Odoo Online en Odoo.sh platforms. Probeer in plaats daarvan de poorten 465, 587, of 2525 te gebruiken.

Gebruik een standaard “Van” e-mailadres

Soms kan het “Van” (uitgaand) adres van een e-mail tot een ander domein behoren en kan dit een probleem zijn.

Als een klant bijvoorbeeld met het e-mailadres mary@customer.example.com op een bericht reageert, zal Odoo proberen diezelfde e-mail door te sturen naar de andere volgers in de thread. Als het domein customer.example.com echter dat soort gebruik verbiedt om veiligheidsredenen, kan de e-mail die Odoo probeert door te sturen worden geweigerd door de e-mailservers van sommige ontvangers.

Om dat soort problemen te vermijden, stuurt Odoo alle e-mails met behulp van een “Van” adres van hetzelfde toegestane domein.

Ga naar de Systeemparameters door de ontwikkelaarsmodus te activeren en ga naar het menu Instellingen ‣ Technisch ‣ Parameters ‣ Systeemparameters.

Om het e-mailadres te forceren van waaruit de e-mails worden verzonden, moet een combinatie van de volgende sleutels worden ingesteld in de systeemparameters van de database:

  • mail.default.from: aanvaardt het lokale deel of een volledig e-mailadres als waarde

  • mail.default.from_filter: aanvaardt een domeinnaam of een volledig e-mailadres als waarde

Notitie

mail.default.from_filter werkt alleen voor odoo-bin configuraties of de standaard Odoo e-mailserver, anders kan deze parameter worden ingesteld met het from_filter veld op ir.mail_server.

Het veld kan een domeinnaam zijn of een volledig e-mailadres, of het kan leeg blijven. Als het e-mailadres van de afzender niet overeenkomt met deze ingestelde filter, dan wordt de e-mail ingekapseld door middel van een combinatie van twee systeemparameters: mail.default.from en mail.catchall.domain.

Example

In het volgende voorbeeld wordt het “Van” e-mailadres vervangen door de combinatie van de twee systeemparameters (mail.default.from en mail.catchall.domain). Dit is de standaardconfiguratie van meldingen in Odoo: “Admin” <admin@example.com> => “Admin” <notifications@mycompany.com>.

Met andere woorden, als het e-mailadres van de afzender niet overeenkomt met mail.default.from_filter, wordt het e-mailadres vervangen door mail.default.from (als het een volledig e-mailadres bevat) of een combinatie van mail.default.from en mail.catchall.domain.

Als de from_filter een volledig e-mailadres bevat en als de mail.default.from dezelfde is als dit adres, dan worden alle e-mailadressen die verschillen van mail.default.from ingekapseld in mail.default.from.

De “Van” filter gebruiken op een uitgaande e-mailserver

Het veld VAN filter maakt het mogelijk om een specifieke uitgaande e-mailserver te gebruiken, afhankelijk van het Van e-mailadres of het domein waar Odoo namens verstuurt. Deze instelling kan worden gebruikt om de afleverbaarheid of het succespercentage te verbeteren van e-mails die vanuit de database worden verzonden. Het instellen van het veld VAN filter kan ook worden gebruikt om te verzenden vanaf verschillende domeinen in een omgeving met meerdere bedrijven. Ga naar dit veld in Odoo via Instellingen ‣ Chat ‣ Aangepaste e-mailservers ‣ Uitgaande e-mailservers ‣ Nieuw.

Instellingen uitgaande e-mailserver en VAN filter

Wanneer een e-mail wordt verzonden vanuit Odoo met het veld VAN filter ingesteld, wordt een e-mailserver gekozen in de volgende volgorde:

  1. Eerst zoekt Odoo naar een e-mailadres met dezelfde VAN filter waarde als de Van waarde (e-mailadres) die is ingesteld in de uitgaande e-mail. Bijvoorbeeld, als de Van waarde (e-mailadres) test@example.com is, worden alleen de e-mailservers waarvan de VAN filter waarde gelijk is aan test@example.com geretourneerd.

  2. Als er echter geen e-mailservers worden gevonden die de waarde Van gebruiken, dan zoekt Odoo naar een e-mailserver met hetzelfde domein als de Van waarde (e-mailadres) bepaald in de uitgaande e-mail. Bijvoorbeeld, als het Van e-mailadres test@example.com is, worden enkel de e-mailservers waarvan de VAN filter waarde gelijk is aan example.com geretourneerd.

Als er geen e-mailservers worden gevonden na het controleren op domein, retourneert Odoo alle e-mailservers waarvoor geen VAN filter waarde(s) is (zijn) ingesteld.

Als deze zoekopdracht geen resultaten oplevert, zoekt Odoo naar een e-mailserver met de systeemparameter: mail.default.from. Het vermelde e-mailadres probeert eerst overeen te komen met een e-mailserver en daarna probeert het domein een overeenkomst te vinden. Als er geen e-mailserver wordt gevonden, retourneert Odoo de eerste uitgaande e-mailserver (gesorteerd op prioriteit).

Notitie

Als er meerdere e-mailservers worden gevonden, gebruikt Odoo de eerste volgens prioriteit. Bijvoorbeeld, als er twee e-mailservers zijn, één met een prioriteit van 10 en de andere met een prioriteit van 20, dan wordt de e-mailserver met een prioriteit van 10 eerst gebruikt.

Verschillende dedicated servers configureren voor transactionele en massamails.

In Odoo a separate email server can be used for transactional emails and mass mailings. Example: Use Postmark or SendinBlue for transactional emails, and Amazon SES, Mailgun, Sendgrid or Mailjet for mass mailings.

Belangrijk

Een standaard uitgaande e-mailserver is reeds geconfigureerd. Maak geen alternatieve server aan tenzij een specifieke externe uitgaande e-mailserver nodig is om technische redenen.

Activeer hiervoor eerst de ontwikkelaarsmodus en ga naar Instellingen ‣ Technisch ‣ Uitgaande e-mailservers. Maak daar twee e-mailservers aan, één voor transactionele e-mails et één voor massamails. Zorg ervoor dat je prioriteit geeft aan de transactionele server boven de massamailserver door een lager prioriteitsnummer op te geven voor de transactionele e-mailserver.

Ga nu naar E-mail Marketing ‣ Instellingen en activeer de optie Dedicated Server. Kies de juiste e-mailserver. Met deze instellingen gebruikt Odoo de server met de lagere prioriteit voor transactionele e-mails en de server die hier is geselecteerd voor massamails. Merk op dat in dit geval, de Sender Policy Framework (SPF) records van het domein moeten worden ingesteld om zowel de transactionele als de massamailservers op te nemen.

Inkomende berichten beheren

Odoo vertrouwt op generieke e-mailaliassen om inkomende berichten op te halen.

  • Reply messages of messages sent from Odoo are routed to their original discussion thread (and to the inbox of all its followers) by the alias of the model if there is any or by the catchall alias (catchall@). Replies to messages of models that do not have a custom alias will use the catchall alias (catchall@mycompany.odoo.com). The catchall address, however, does not have another action attached to it like other aliases might, it is only used to collect replies.

  • Bounceberichten worden gebruikt als een Return-Path. Dit is vooral handig in Odoo Email Marketing. In dit geval worden bounceberichten afgemeld op basis van het aantal bounces (5) in de afgelopen maand en de bounceberichten worden gescheiden door een week. Dit wordt gedaan om te voorkomen dat iemand op de blacklist komt te staan vanwege een e-mailserverfout. Als aan deze voorwaarden wordt gedaan, wordt de e-mail als ongeldig beschouwd en op de blacklist geplaatst. Er wordt een lognotitie toegevoegd aan de contactpersoon onder Op de blacklist geplaatste e-mailadressen in het menu E-mail Marketing Configuratie.

    Berichten die terugkomen in de chatter (buiten E-mail marketing) krijgen een rode envelop die de mislukte aflevering aangeeft. Dit kan handig zijn om te weten dat een verkooporder of een factuur zijn eindbestemming niet heeft bereikt.

  • Oorspronkelijke berichten: verschillende bedrijfsobjecten hebben hun eigen alias om nieuwe records aan te maken in Odoo van inkomende e-mails:

Afhankelijk van de e-mailserver kunnen er verschillende methoden zijn om e-mails op te halen. De makkelijkste en meeste aanbevolen methode is om één e-mailadres per Odoo alias in de e-mailserver te beheren.

  • Maak de overeenkomstige e-mailadressen in de e-mailserver (catchall@, bounce@, sales@, enz.).

  • Stel de naam van het Aliasdomein in in Instellingen ‣ Algemene instellingen ‣ Chat. Door het Aliasdomein te wijzigen, wordt het domein van de catch-all voor de database gewijzigd.

  • Als het hostingtype van de database Odoo on-premise is, maak dan voor elke alias een Inkomende e-mailserver in Odoo. Om een nieuwe inkomende server te maken, ga naar: Instellingen ‣ Chat ‣ Aangepaste e-mailservers ‣ Inkomende e-mailservers ‣ Nieuw. Vul het formulier in volgens de instellingen van de e-mailprovider. Laat het veld Uit te voeren acties op inkomende e-mails leeg. Zodra de informatie is ingevuld, klik op TESTEN & BEVESTIGEN.

    Configuratie van de inkomende e-mailserver in Odoo.
  • Als het hostingtype van de database Odoo Online of Odoo.sh is, is het aangeraden om inkomende berichten om te leiden of door te sturen naar Odoo’s domeinnaam in plaats van die van de externe e-mailserver. Op die manier kunnen inkomende berichten worden ontvangen zonder vertraging. Omleidingen voor alle e-mailadressen moeten worden ingesteld op Odoo’s domeinnaam in de e-mailserver (bijv. catchall@mydomain.ext naar catchall@mycompany.odoo.com).

Alle aliassen zijn aanpasbaar in Odoo. Objectaliassen kunnen worden bewerkt vanuit hun respectievelijke configuratieweergave door naar Instellingen ‣ Technisch menu ‣ E-mail ‣ Aliassen te gaan.

To edit catchall and bounce aliases, first activate the developer mode. Then, go to Settings ‣ Technical ‣ Parameters ‣ System Parameters to customize the aliases (mail.catchall.alias & mail.bounce.alias). These types of changes should be completed prior to the database going live. If a customer replies after a change is made then the system will not recognize the old alias, and the reply will not be received.

Standaard worden inkomende berichten elke 5 minuten opgehaald voor on-premise databases.

Notitie

Deze waarde kan worden gewijzigd in de ontwikkelaarsmodus. Ga naar Instellingen ‣ Technisch ‣ Automatisering ‣ Geplande acties en zoek naar Mail: Fetchmail Service.

Systeemparameters die feedback loops voorkomen

Er zijn twee systeemparameters die helpen voorkomen dat e-mailloops ontstaan in Odoo. Deze parameters zijn geïntroduceerd in Odoo 16 om te voorkomen dat aliassen te veel records aanmaken en dat feedback loops ontstaan op catch-all reply-to e-mailadressen. Ze komen voor in de database, maar niet in de Systeemparameters. Om de volgende standaardwaarden te overschrijven, moeten ze worden toegevoegd.

De twee systeemparameters zijn als volgt:

  • mail.gateway.loop.minutes (120 minutes by default)

  • mail.gateway.loop.threshold (20 by default)

Voeg deze velden toe in Odoo door eerst de ontwikkelaarsmodus te activeren en daarna naar Instellingen ‣ Technisch menu ‣ Parameters ‣ Systeemparameters te gaan. Verander de waarde van deze parameters indien nodig.

When an email is received in the Odoo database on the catchall email address or on any alias, Odoo looks at the mail received for the given period of time defined in the system parameter mail.gateway.loop.minutes. If the received email was sent to an alias then Odoo will reference the mail.gateway.loop.threshold system parameter and determine the value as the number of records this alias is allowed to create in the given period of time (value of mail.gateway.loop.minutes).

In addition, when email is received to the catchall email address, Odoo will reference the emails received to the database during the set period of time (as stated by the value in the system parameter: mail.gateway.loop.minutes). Odoo will then determine whether any of the emails received match that of the email(s) being received during the specified time-frame, and will prevent a feedback loop from occurring if a duplicate email is detected.

Allow alias domain system parameter

Incoming aliases are set in the Odoo database to create records by receiving incoming emails. To view aliases set in the Odoo database, first activate the developer mode. Then, go to Settings app ‣ Technical ‣ Email section ‣ Aliases.

The following system parameter, mail.catchall.domain.allowed, set with allowed alias domain values, separated by commas, filters out correctly addressed emails to aliases. Setting the domain(s) for which the alias can create a ticket, lead, opportunity, etc., eliminates false positives where email addresses with only the prefix alias (not the domain) are present.

In some instances, matches have been made in the Odoo database when an email is received with the same alias prefix and a different domain on the incoming email address. This is true in the sender, recipient, and CC email addresses of an incoming email.

Example

When Odoo receives emails that have the name commercial prefix alias in the sender, recipient, or CC email address(es) (e.g. commercial@gmail.com, commercial@odoo.net), the database falsely treats the email as the full commercial alias (with a different domain), and therefore, creates a ticket/lead/opportunity/etc.

To add the mail.catchall.domain.allowed system parameter, first, activate the developer mode. Then, go to Settings app ‣ Technical ‣ Parameters section ‣ System Parameters. Click Create. Then, type in mail.catchall.domain.allowed for the Key field.

Next, for the Value field, add the domain(s) separated by comma(s) (if plural domains). Manually Save, and the system parameter takes immediate effect.

mail.catchall.domain.allowed system parameter set with key and value highlighted.