Se rendre au contenu

Formation Odoo — Module : Configuration DNS & Délivrabilité Email

11 juillet 2026 par
Madson Kurtis
| Aucun commentaire pour l'instant

Formation odoo configuration dns_course_article_Madson Kurtis

Annotations


Formation Odoo — Module : Configuration DNS & Délivrabilité Email

Objectif du module

Configurer les DNS pour que les emails envoyés depuis Odoo arrivent dans la boîte de réception principale (pas Promotions, pas Spam). Score cible : 9/10 sur mail-tester.com.


Leçon 1 : Comprendre pourquoi vos emails n'arrivent pas

Le problème

  • Les emails Odoo tombent dans l'onglet Promotions ou Spam de Gmail
  • Les balises HTML s'affichent en texte brut (

    Bonjour

    au lieu de "Bonjour")
  • Un lien "unsubscribe" s'ajoute automatiquement en bas

Pourquoi ça arrive

  • Gmail analyse 3 choses pour classer un email :
  1. Authentification — est-ce que l'email vient vraiment de ton domaine ? (SPF, DKIM, DMARC)
  2. Contenu — est-ce que ça ressemble à du marketing ? (HTML lourd, images, liens, unsubscribe)
  3. Réputation — est-ce que ton IP/domaine a déjà envoyé du spam ?

Les 3 piliers de l'authentification email

| Record | Rôle | Analogie | |--------|------|----------| | SPF | Liste des serveurs autorisés à envoyer pour ton domaine | "Voici la liste des personnes autorisées à signer en mon nom" | | DKIM | Signature cryptographique sur chaque email | "Chaque email porte mon sceau officiel" | | DMARC | Politique : que faire si SPF/DKIM échoue | "Si quelqu'un usurpe mon identité, voici quoi faire" |


Leçon 2 : Vérifier l'état actuel de vos DNS

Outil : mail-tester.com (gratuit)

  1. Aller sur https://www.mail-tester.com
  2. Copier l'adresse email affichée (ex: test-xxxxx@srv1.mail-tester.com)
  3. Depuis Odoo, envoyer un email à cette adresse
  4. Revenir sur le site et cliquer "Vérifier le score"
  5. Score cible : 9/10 minimum

Vérification DNS en ligne de commande

# Vérifier SPF
dig TXT mondomaine.com +short
# Chercher : v=spf1 include:_spf.odoo.com ...

# Vérifier DKIM Odoo
dig TXT odoo._domainkey.mondomaine.com +short

# Vérifier DMARC
dig TXT _dmarc.mondomaine.com +short

Outil : Google Postmaster Tools

  • https://postmaster.google.com
  • Ajouter et vérifier ton domaine
  • Suivre : taux de spam, réputation IP, authentification

Leçon 3 : Configurer les DNS sur IONOS

Accès

  1. Se connecter sur IONOS
  2. Aller dans Domaines & SSL > ton domaine > DNS

3.1 — SPF (autoriser Odoo à envoyer)

| Type | Nom | Valeur | |------|-----|--------| | TXT | @ | v=spf1 include:_spf-eu.ionos.com include:_spf.odoo.com ~all |

Important : un seul record SPF par domaine. Si tu as déjà un SPF, ajoute include:_spf.odoo.com dedans, ne crée pas un 2ème record TXT.

3.2 — DKIM Odoo (signature cryptographique)

| Type | Nom | Valeur | |------|-----|--------| | CNAME | odoo._domainkey | odoo._domainkey.odoo.com |

Ce CNAME pointe vers la clé DKIM publique d'Odoo. Chaque email envoyé depuis Odoo sera signé automatiquement.

3.3 — DKIM IONOS (si tu utilises aussi la messagerie IONOS)

Ces records sont généralement créés automatiquement par IONOS :

| Type | Nom | Valeur | |------|-----|--------| | CNAME | s1-ionos._domainkey | s1.dkim.ionos.com | | CNAME | s2-ionos._domainkey | s2.dkim.ionos.com |

3.4 — DMARC (politique anti-usurpation)

Supprimer le CNAME par défaut d'IONOS :

CNAME  _dmarc  →  dmarc.ionos.fr   ← SUPPRIMER

Créer un record TXT à la place :

| Type | Nom | Valeur | |------|-----|--------| | TXT | _dmarc | v=DMARC1; p=quarantine; rua=mailto:contact@mondomaine.com; |

p=none (défaut IONOS) = ne rien faire → faible
p=quarantine = mettre en spam les faux emails → recommandé
p=reject = rejeter complètement les faux emails → strict (à activer plus tard quand tout est stable)
rua=mailto: = adresse qui recevra les rapports DMARC (optionnel mais utile)

Leçon 4 : Configuration DNS complète — Exemple Mayagri

Voici la config DNS finale pour mayagri.com avec Odoo + IONOS :

| Type | Nom | Valeur | Rôle | |------|-----|--------|------| | MX | @ | mx00.ionos.fr | Réception email | | MX | @ | mx01.ionos.fr | Réception email (backup) | | TXT | @ | v=spf1 include:_spf-eu.ionos.com include:_spf.odoo.com ~all | SPF | | CNAME | s1-ionos._domainkey | s1.dkim.ionos.com | DKIM IONOS | | CNAME | s2-ionos._domainkey | s2.dkim.ionos.com | DKIM IONOS | | CNAME | odoo._domainkey | odoo._domainkey.odoo.com | DKIM Odoo | | TXT | _dmarc | v=DMARC1; p=quarantine; rua=mailto:contact@mayagri.com; | DMARC | | CNAME | www | studiomadson.odoo.com | Site web Odoo | | A | @ | 217.160.0.28 | Redirection |

Résultat mail-tester : 9/10

  • SpamAssassin ✅
  • Authentification parfaite ✅ (SPF + DKIM + DMARC)
  • Pas d'image ✅
  • Contenu sûr ✅
  • Pas d'URL raccourcie ✅
  • Pas de List-Unsubscribe ✅
  • 91% texte ✅

Leçon 5 : Bonnes pratiques pour la délivrabilité

Format des emails

  • Texte brut > HTML formaté (les emails perso sont en texte simple)
  • Pas de

    ,
    , — juste du texte avec des retours à la ligne
  • Pas d'images dans le corps de l'email
  • Pas de liens trackés ou raccourcis
  • Pas de lien "unsubscribe" (c'est un signal marketing pour Gmail)
  • Signature simple : nom, entreprise, téléphone — pas de logo, pas de HTML

Contenu

  • Écrire comme un humain, pas comme un robot marketing
  • Personnaliser chaque email (prénom, nom de l'entreprise, contexte)
  • Pas de mots spam : "gratuit", "offre limitée", "cliquez ici"
  • Court et direct — 5-7 lignes max avant la signature

Volume

  • Ne pas envoyer plus de 15-20 emails/jour au début
  • Monter progressivement (warm-up)
  • Espacer les envois de 5+ secondes entre chaque email
  • Varier les heures d'envoi

Réputation

  • Vérifier régulièrement sur mail-tester.com
  • Surveiller Google Postmaster Tools
  • Si un email bounce, retirer l'adresse immédiatement
  • Ne jamais acheter de listes d'emails

Leçon 6 : Configuration Odoo pour la délivrabilité

Dans le code d'envoi (engine.py)

# Convertir texte brut en HTML minimal (juste des 
) body_as_html = body_text.replace("\n", "
") # mail.mail — is_notification=True supprime le footer unsubscribe mail_id = odoo("mail.mail", "create", [{ "subject": subject, "body_html": body_as_html, "email_from": "Madi Karim ", "email_to": to_email, "auto_delete": False, "state": "outgoing", "mail_message_id": msg_id, "is_notification": True, # ← supprime le lien unsubscribe }])

Dans message_post

# email_layout_xmlid: False empêche Odoo d'ajouter un template HTML
msg_id = odoo("crm.lead", "message_post", [[lead_id]], {
    "body": body_as_html,
    "subject": subject,
    "message_type": "email",
    "email_from": "Madi Karim ",
    "partner_ids": [],
    "email_layout_xmlid": False,  # ← pas de template HTML
})

Checklist finale

  • [ ] SPF inclut _spf.odoo.com
  • [ ] DKIM Odoo configuré (odoo._domainkeyodoo._domainkey.odoo.com)
  • [ ] DMARC en p=quarantine (pas p=none)
  • [ ] Emails en texte brut (pas de HTML)
  • [ ] is_notification: True dans mail.mail (pas de footer unsubscribe)
  • [ ] email_layout_xmlid: False dans message_post (pas de template)
  • [ ] Score mail-tester ≥ 9/10
  • [ ] Google Postmaster Tools configuré
  • [ ] Volume d'envoi progressif (15-20/jour max au début)
Se connecter pour laisser un commentaire.
Éclairage vidéo : 3 setups pas chers qui battent les panneaux LED