Paramétrages techniques des emails

Présentation

La section ci-après présente les paramétrages nécessaires pour contrôler le débit des instances Adobe Campaign pour l’envoi d’emails.

Remarque

Pour les déploiements hébergés par Adobe, certaines configurations peuvent uniquement être effectuées par Adobe, comme l'accès aux fichiers de configuration de serveur et d’instance. Pour en savoir plus sur les différents déploiements, consultez la section Modèles d'hébergement ou cette page.

Pour en savoir plus sur les concepts et les bonnes pratiques relatifs à la délivrabilité, voir cette section.

Toutes les recommandations techniques pour assurer le bon envoi et la bonne réception des emails par une plateforme Adobe Campaign sont disponibles dans cette section.

Principe de fonctionnement

Le débit d'une ou plusieurs instances Adobe Campaign peut être contrôlé afin de limiter le nombre d'emails envoyés en fonction des domaines. Par exemple, il est possible de limiter le débit des adresses en yahoo.com à 20.000 messages par heure et à 100.000 messages par heure pour les autres domaines.

Le débit des messages doit être contrôlé pour chacune des adresses IP utilisées par les serveurs de diffusion (mta) pour l'envoi des emails. Plusieurs mta repartis sur plusieurs machines et appartenant à différentes instances Adobe Campaign peuvent partager les mêmes adresses IP pour l'envoi d'emails : il est donc nécessaire qu'un processus coordonne l'utilisation de ces adresses IP.

C'est la fonction du module stat : il fédère toutes les demandes d'ouvertures de connexions et d'envois de messages vers les serveurs de messagerie pour un ensemble d'adresses IP. Le serveur de statistiques maintient ainsi le compte des diffusion et peut autoriser ou refuser les envois dans le temps en fonction des quotas définis.

  • Le serveur de statistiques (stat) est associé à une base Adobe Campaign pour charger sa configuration.
  • Les serveurs de diffusions (mta) sont configurés pour contacter via UDP un serveur de statistiques qui n'appartient pas nécessairement à leur propre instance.

Serveurs de diffusion

Le module mta distribue les messages à ses modules fils mtachild. Chaque mtachild prépare les messages, puis demande l'autorisation au serveur de statistiques avant de les envoyer.

Les étapes sont les suivantes :

  1. Le mta sélectionne les messages éligibles pour l'envoi et les assigne à un mtachild disponible.
  2. Le mtachild charge toutes les informations nécessaires pour construire le message (contenu, éléments de personnalisation, attachements, images, etc.) et transmet le message au gestionnaire d'envoi (Email Traffic Shaper).
  3. Lorsque le gestionnaire d'envoi a reçu l'autorisation du serveur de statistiques (smtp stat), le message est envoyé au destinataire.

Statistiques et limitations des serveurs de messagerie

Le serveur de statistiques maintient les statistiques suivantes pour chaque serveur de messagerie vers lequel des messages sont envoyés :

  • Nombre de connexions ouvertes en instantané,
  • Nombre de messages envoyés dans l'heure précédente,
  • Taux de connexions réussies/refusées,
  • Taux de connexions vers des serveurs injoignables.

Parallèlement, le module charge une liste de limitations pour certains serveurs de messagerie :

  • Nombre maximum de connexions simultanées,
  • Nombre maximum de messages par heure,
  • Nombre maximum de messages par connexion.

Gestion des adresses IP

Le serveur de statistiques peut fédérer plusieurs instances ou plusieurs machines si elles partagent les mêmes adresses IP publiques. Il n'est donc pas rattaché à une instance particulière, mais il doit néanmoins en contacter une pour récupérer les limitations par domaine.

Les statistiques de diffusion sont conservées pour chaque MX cible et pour chaque IP source. Par exemple, si le domaine ciblé possède 5 MX et la plateforme peut utiliser 3 adresses IP différentes, le serveur pourra gérer jusqu'à 15 séries d'indicateurs pour ce domaine.

L'adresse IP source correspond à l'adresse IP publique, c'est-à-dire à l'adresse telle qu'elle est vue par le serveur de messagerie distant. Cette adresse IP peut différer de celle de la machine hébergeant le mta, si un routeur NAT est présent. Pour cette raison, le serveur de statistiques utilise un identifiant correspondant à l'IP publique (publicId). L'association entre l'adresse locale et cet identifiant est déclarée dans le fichier de configuration serverConf.xml. Tous les paramètres disponibles dans le fichier serverConf.xml sont répertoriés dans cette section.

Contrôle de la sortie de diffusion

Pour diffuser les messages vers les serveurs de messagerie, le composant Email Traffic Shaper fait une demande d'ouverture de connexion auprès du serveur de statistiques. Une fois la demande acceptée, la connexion est ouverte.

Avant l'envoi des messages, le module demande des 'jetons' au serveur. Généralement, il s'agit d'un lot minimum de 10 jetons, afin de réduire le nombre de requêtes auprès du serveur.

Le serveur conserve en mémoire toutes les statistiques de connexion et de diffusion. En cas de redémarrage, les informations sont provisoirement perdues : chacun des clients conserve localement une copie de ses statistiques d'envoi et les retourne régulièrement au serveur (toutes les 2 minutes). Le serveur peut alors ré-agréger les données.

Les sections suivantes décrivent le traitement d'un message par le composant Email Traffic Shaper.

Diffusion d'un message

Lorsqu'un message est envoyé, 3 résultats sont possibles :

  1. Success : le message est envoyé avec succès. Le message est mis à jour.

  2. Message Failed : le serveur contacté refuse le message pour le destinataire spécifié. Ce résultat correspond aux codes retour entre 550 et 599, mais certaines exceptions peuvent être définies.

  3. Échec de la session (à partir de la version 5.11) : si le mta reçoit une réponse pour ce message, celui-ci est abandonné (voir la section Abandon d’un message). Le message est envoyé vers un autre chemin ou mis en attente si aucun autre chemin n’est disponible (voir la section Mise en attente d’un message).

    Remarque

    Un chemin désigne une connexion entre le mta Adobe Campaign et mta la cible, mta Adobe Campaign pouvant choisir parmi plusieurs IP de départ et plusieurs adresses IP du domaine destination.

Abandon d'un message

Lorsqu'un message est abandonné, il est retourné au mta et n'est plus géré par le mtachild.

Le mta décide de l'action à suivre pour ce message (reprise, abandon, mise en quarantaine, etc.) en fonction du code réponse et des règles.

Mise en attente d'un message

Un message est mis en attente lorsqu'il arrive dans la file active mais qu'il n'y a actuellement aucun chemin disponible.

Un chemin est généralement marqué non disponible pour une durée variable après une erreur de connexion. La durée d'indisponibilité d'un chemin dépend de la fréquence et de l'ancienneté des erreurs.

Configuration du serveur de statistiques

Le serveur de statistiques peut être utilisé par plusieurs instances : il doit être configuré indépendamment des instances qui vont l'utiliser.

Vous devez d'abord définir la base de données Adobe Campaign qui hébergera la configuration.

Configuration de démarrage

Par défaut, le module stat est démarré pour chacune des instances. Lorsque les instances sont mutualisées sur une même machine, ou lorsque les instances partagent les mêmes adresses IP, un seul serveur de statistiques doit être utilisé : les autres doivent être désactivés.

Définition du port du serveur

Par défaut, le serveur de statistiques écoute sur le port 7777. Ce port peut être modifié dans le fichier serverConf.xml. Tous les paramètres disponibles dans le fichier serverConf.xml sont répertoriés dans cette section.

<stat port="1234"/>

Configuration des MX

A propos des règles MX

Les règles MX (Mail eXchanger) correspondent aux règles de gestion de communication entre un serveur expéditeur et un serveur destinataire.

IMPORTANT

Pour les installations hébergées ou hybrides, si vous avez effectué une mise à niveau vers le MTA amélioré, les règles de débit de diffusion avec Gestion des MX ne sont plus utilisées. Le MTA amélioré utilise ses propres règles MX. Il peut ainsi personnaliser le débit par domaine en fonction de votre réputation, basée sur l'historique des emails et les commentaires en temps réel provenant des domaines auxquels vous adressez des emails.

Pour plus d’informations sur le MTA amélioré d’Adobe Campaign, consultez ce document.

Ces règles sont rechargées automatiquement tous les matins à 6h00 (heure du serveur) afin de fournir régulièrement l’instance du client.

Selon les capacités matérielles et la politique interne, un FAI acceptera un nombre prédéfini de connexions et de messages par heure. Ces variables peuvent être modifiées de manière automatique par le système du FAI en fonction de la réputation de l'IP et du domaine de l'expéditeur. Adobe Campaign, via sa plateforme délivrabilité, gère plus de 150 règles spécifiques par FAI, avec, en complément, une règle générique pour les autres domaines.

Le nombre maximum de connexions ne dépend pas exclusivement du nombre d'adresses IP publiques utilisées par le MTA.

Par exemple, si vous autorisez cinq connexions dans les règles MX et que vous avez configuré deux adresses IP publiques, vous pouvez penser que vous ne pouvez pas avoir plus de dix connexions ouvertes simultanément sur ce domaine. En vérité, le nombre maximum de connexions se réfère à un chemin qui est une combinaison de l'une de nos IP MTA publiques et d'une IP MTA du client.

Dans l'exemple ci-dessous, l'utilisateur dispose de deux adresses IP publiques et configurées, et le domaine est yahoo.com.

user:~ user$ host -t mx yahoo.com
                yahoo.com mail is handled by 1 mta5.am0.yahoodns.net.
                yahoo.com mail is handled by 1 mta6.am0.yahoodns.net.
                yahoo.com mail is handled by 1 mta7.am0.yahoodns.net.

Les enregistrements MX pour yahoo.com informent l'utilisateur que yahoo.com possède trois MX. Pour se connecter au MX client, le MTA demande son adresse IP au DNS.

user:~ user$ host -t a mta5.am0.yahoodns.net
                mta5.am0.yahoodns.net has address 98.136.216.26
                mta5.am0.yahoodns.net has address 98.136.217.202
                mta5.am0.yahoodns.net has address 98.138.112.38
                mta5.am0.yahoodns.net has address 66.196.118.37
                mta5.am0.yahoodns.net has address 63.250.192.46
                mta5.am0.yahoodns.net has address 66.196.118.240
                mta5.am0.yahoodns.net has address 98.136.217.203
                mta5.am0.yahoodns.net has address 98.138.112.35

Pour cet enregistrement MX, l'utilisateur peut contacter huit adresses IP. Comme il dispose de deux adresses IP publiques, il a seize (8*2) combinaisons pour accéder aux serveurs email de yahoo.com. Chacune de ces combinaisons s'appelle un chemin.

Le deuxième enregistrement MX apparaît comme ceci :

user:~ user$ host -t a mta6.am0.yahoodns.net
                mta6.am0.yahoodns.net has address 98.138.112.38
                mta6.am0.yahoodns.net has address 98.136.216.26
                mta6.am0.yahoodns.net has address 63.250.192.46
                mta6.am0.yahoodns.net has address 66.196.118.35
                mta6.am0.yahoodns.net has address 98.136.217.203
                mta6.am0.yahoodns.net has address 98.138.112.32
                mta6.am0.yahoodns.net has address 98.138.112.37
                mta6.am0.yahoodns.net has address 66.196.118.33

Quatre de ces huit adresses IP sont déjà utilisées en mta5 (98.136.216.26, 98.138.112.38, 63.250.192.46 et 98.136.217.203). Cet enregistrement permet à l'utilisateur d'utiliser quatre nouvelles adresses IP. Le troisième enregistrement MX aussi.

Au total, l'utilisateur dispose de seize adresses distantes. Avec ses deux adresses IP publiques, il obtient un total de trente-deux chemins pour accéder aux serveurs email de yahoo.com.

Remarque

Si deux enregistrement MX référencent la même adresse IP, un seul chemin sera pris en compte, et non deux.

Ci-dessous, quelques exemples sur l'utilisation des règles MX:

Dans l'exemple ci-dessous, l'utilisateur possède une limitation de 10 000 messages par heure pour un nom de domaine particulier, mais la capacité de débit du MTA est supérieure à cette limite.

Dans ce cas, le trafic est divisé en 12 périodes de 5 minutes pour chaque heure, et la limitation réelle est de 833 messages par période.

Ces messages seront délivrés aussi vite que possible.

Configurer la gestion des MX

Les règles à respecter pour les MX sont définies dans le document Gestion des MX du nœud Administration > Gestion de campagne > Gestion des NP@I > Jeux de règles mail de l’arborescence.

Si le document Gestion des MX n’existe pas dans le nœud, vous pouvez le créer manuellement. Pour cela :

  1. Créez un nouveau jeu de règles mail.

  2. Sélectionnez le mode Gestion des MX.

  3. Saisissez la valeur defaultMXRules dans le champ Nom interne.

Le serveur de statistiques doit être redémarré pour que les modifications soient prises en compte.

Pour recharger la configuration sans redémarrer le serveur de statistiques, utilisez la commande suivante sur la machine hébergeant le serveur :nlserver stat -reload

Remarque

Cette ligne de commande est préférée à nlserver restart. Elle empêche la perte des statistiques collectées avant le redémarrage et permet d'éviter des pics d'utilisation qui pourraient aller à l'encontre des quotas définis dans les règles MX.

Configuration des règles MX

Le document Gestion des MX répertorie tous les domaines liés à une règle MX.

Ces règles sont appliquées dans l'ordre : la première règle dont le masque de MX est compatible avec le MX ciblé est appliquée.

Les paramètres disponibles pour chacune des règles sont les suivants :

  • Masque des MX : domaine auquel s’applique la règle. Chaque règle fixe un masque d'adresse du MX. Tout MX dont le nom correspond à ce masque est éligible. Le masque peut contenir les caractères génériques "*" et "?".

    Par exemple, les adresses :

    • a.mx.yahoo.com
    • b.mx.yahoo.com
    • c.mx.yahoo.com

    sont compatibles avec les masques :

    • *.yahoo.com
    • ?.mx.yahoo.com

    Par exemple, pour l'adresse email foobar@gmail.com, le domaine est gmail.com et l'enregistrement MX est :

    gmail.com mail exchanger = 20 alt2.gmail-smtp-in.l.google.com.
    gmail.com mail exchanger = 10 alt1.gmail-smtp-in.l.google.com.
    gmail.com mail exchanger = 40 alt4.gmail-smtp-in.l.google.com.
    gmail.com mail exchanger = 5  gmail-smtp-in.l.google.com.
    gmail.com mail exchanger = 30 alt3.gmail-smtp-in.l.google.com.
    

    Dans ce cas, la règle MX *.google.com sera utilisée. Comme vous pouvez le constater, le masque de règle MX ne correspond pas nécessairement au domaine de l’email. Les règles MX appliquées aux adresses email gmail.com seront celles qui comportent le masque *.google.com.

  • Plage des identifiants : cette option permet d'indiquer les plages d'identifiants (publicId) pour lesquelles la règle s'applique. Vous pouvez indiquer :

    • Un nombre : la règle ne s'appliquera qu'à ce publicId,
    • Une plage de nombres (nombre1-nombre2) la règle s'appliquera à tous les publicId compris entre ces deux nombres.
    Remarque

    Lorsque ce champ est vide, la règle s'applique à tous les identifiants.

    Une ID Publique est l'identifiant interne d'une adresse IP publique utilisée par un ou plusieurs MTA. Ces ID sont définies dans les serveurs MTA dans le fichier config-instance.xml.

  • Partagé : définit le paramétrage des propriétés pour la règle MX. Si Oui, les paramètres sont tous partagés sur toutes les IP disponibles de l’instance. Si Non, les règles MX sont définies pour chaque IP. Le nombre maximum de messages est multiplié par le nombre d’IP disponibles.

  • Nombre maximum de connexions : nombre maximum de connexions simultanées au domaine de l’expéditeur.

  • Nombre maximum de messages : nombre maximum de messages qui peuvent être envoyés sur une connexion. Au-delà, la connexion est fermée puis une nouvelle est rouverte.

  • Messages par heure : nombre maximum de messages pouvant être envoyés en une heure au domaine de l’expéditeur.

  • Timeout de connexion : délai maximum pour tenter de se connecter à un domaine.

    Remarque

    Le système d'exploitation Windows peut émettre un timeout avant cette limite. Cette limite dépend de la version de Windows.

  • Timeout Data : durée maximale d'attente d'une réponse du serveur après l'envoi du contenu du message (section DATA du protocole SMTP).

  • Timeout : durée maximale d'attente de réponse pour les autres échanges avec le serveur SMTP.

  • TLS : le protocole TLS, qui permet de crypter la diffusion des emails, peut être activé de manière sélective. Pour chaque masque de MX, les options suivantes sont disponibles :

    • Configuration par défaut : c'est la configuration générale indiquée dans le fichier de configuration serverConf.xml qui est appliquée.

      IMPORTANT

      Il n'est pas recommandé de modifier le paramétrage par défaut.

    • Désactivé : les messages sont systématiquement envoyés sans cryptage.

    • Opportuniste : la diffusion des messages est cryptée si le serveur de réception (SMTP) est capable de gérer le protocole TLS.

Exemple de paramétrage :

Gestion des formats des emails

Il est possible de définir le format des messages envoyés, de sorte que l'affichage du contenu s'adapte automatiquement en fonction du domaine de l'adresse de chaque destinataire.

Pour cela, accédez au document Gestion des formats des emails du dossier Administration > Gestion de campagne > Gestion de NP@I > Jeux de règles mail de l'arborescence.

Ce document contient notamment une liste de domaines prédéfinis correspondant aux formats japonais gérés par Adobe Campaign. Pour plus d'informations, consultez ce document.

Le paramètre Structure MIME (Multipurpose Internet Mail Extensions) permet de définir la structure du message qui sera transmise aux différents clients de messagerie. Trois options sont disponibles :

  • multipart : envoi du message au format texte et HTML. Si le format HTML n'est pas accepté, le message pourra tout de même s'afficher au format texte.

    Par défaut, la structure multipart est de type multipart/alternative, mais devient automatiquement multipart/related lorsque qu'on ajoute une image au message. Certains fournisseurs exigeant le format multipart/related par défaut, l'option Forcer multipart/related permet d'imposer ce format même si aucune image n'est jointe.

  • html : envoi du message au format HTML uniquement. Si le format HTML n'est pas accepté, le message ne s'affichera pas.

  • text : envoi du message au format texte uniquement. L'avantage des messages au format texte est leur taille très réduite.

Si l'option Inclusion des images est activée, celles-ci s'affichent directement dans le corps de l'email. Les images sont alors téléchargées et les liens URL remplacés par leur contenu.

Cette option est notamment utilisée par le marché japonais pour les emails au format Deco-mail, Decore Mail ou Decoration Mail. Pour plus d'informations, consultez ce document.

IMPORTANT

L'insertion des images dans un email augmente considérablement la taille de ce dernier.

Configuration des serveurs de diffusions

Synchronisation des horloges

Les horloges de l'ensemble des serveurs composant la plateforme Adobe Campaign (y compris la base de données), doivent être synchronisées et les systèmes doivent être dans le même fuseau horaire.

Coordonnées du serveur de statistiques

L'adresse du serveur de statistiques doit être indiquée au niveau du mta.

La propriété statServerAddress de l'élément mta de la configuration permet de spécifier l'adresse et le numéro de port à utiliser.

<mta statServerAddress="emailStatServer:7777">
   [...]
 </mta>

Pour utiliser le serveur de statistiques se trouvant sur la même machine, il faut au minimum renseigner le nom de la machine à la valeur localhost:

 <mta statServerAddress="localhost">
IMPORTANT

Si ce champ n'est pas renseigné, le mta ne démarrera pas.

Liste des adresses IP à utiliser

La configuration relative à la gestion du trafic se situe dans l'élément mta/child/smtp du fichier de configuration.

Pour chacun des éléments IPAffinity, vous devez déclarer les adresses IP de la machine qui peuvent être utilisées.

Exemple:

<IPAffinity localDomain="<domain>" name="default">
  <IP address="192.168.0.11" publicId="1" weight="5"/>
  <IP address="192.168.0.12" heloHost="revdns1.campaign.com" publicId="2" weight="5"/>
  <IP address="192.168.0.13" publicId="3" weight="1"/>
</IPAffinity>

Les paramètres sont les suivants :

  • address : il s'agit de l'adresse IP de la machine hôte du MTA à utiliser.

  • heloHost : cet identifiant représente l'adresse IP telle qu'elle sera vue par le serveur SMTP.

  • publicId : cette information est utile lorsqu'une adresse IP est partagée par plusieurs mta Adobe Campaign derrière un routeur NAT. Le serveur de statistiques utilise cet identifiant pour mémoriser les statistiques de connexions et d'envois entre ce point de départ et le serveur cible.

  • weight : permet de définir la fréquence relative d'utilisation de l'adresse. Par défaut, toutes les adresses ont un poids égal à 1.

Remarque

Dans le fichier serverConf.xml, vous devez vérifier qu’une adresse IP correspond à un seul hôte helohost, avec un identifiant unique (public_id). Elle ne peut pas être mappée à plusieurs hôtes helohost, car cela pourrait entraîner des problèmes de contrôle de flux de diffusion.

Dans l'exemple précédent, en condition normale, les adresses seront utilisées selon la répartition suivante :

* &quot;1&quot;: 5 / (5+5+1) = 45 %
* &quot;2&quot;: 5 / (5+5+1) = 45 %
* &quot;3&quot;: 1 / (5+5+1) = 10 %

Si, par exemple, la première adresse est inutilisable vers un MX donné, les messages seront envoyés en utilisant la répartition suivante :

* &quot;2&quot;: 5 / (5+1) = 83 %
* &quot;3&quot;: 1 / (5+1) = 17 %
  • includeDomains : permet de réserver cette adresse IP aux emails appartenant à un domaine particulier. C'est une liste de masques pouvant contenir un ou plusieurs jokers '*'. Si l'attribut n'est pas renseigné, tous les domaines peuvent utiliser cette adresse IP.

    Exemple : includeDomains="wanadoo.com,orange.com,yahoo.*"

  • excludeDomains : exclut une liste de domaines de cette adresse IP. Ce filtre est applique après le filtre includeDomains.

Optimisation de l'envoi d'emails

L'architecture interne du mta Adobe Campaign a un impact sur le paramétrage pour optimiser la diffusion d'emails. Voici quelques conseils pour améliorer les diffusions.

Ajuster le paramètre maxWaitingMessages

Le paramètre maxWaitingMessages indique le nombre maximum de messages préparés à l'avance par le mtachild. Les messages ne sont décomptés de cette liste que lorsqu'ils sont effectivement envoyés ou abandonnés.

Ce paramètre est très important et particulièrement critique si les messages ne sont pas triés par domaine.

Lorsque le seuil maximum du paramètre maxWorkingSetMb (256) est atteint, le serveur de diffusion n'envoie plus de messages. Les performances diminueront très fortement jusqu'à ce que le mtachild redémarre. Pour pallier à ce problème, vous pouvez soit augmenter le plafond du paramètre maxWorkingSetMb, soit diminuer celui du paramètre maxWaitingMessages.

Le paramètre maxWorkingSetMb se calcule empiriquement en multipliant le nombre maximum de messages par la taille moyenne d'un message, le tout multiplié par 2,5. Par exemple, si un message a une taille de 50 ko en moyenne, et que le paramètre maxWaitingMessages a pour valeur 1000, la mémoire consommée sera d'environ 125 Mo.

Ajuster le nombre de mtachild

Le nombre de child ne devrait pas excéder le nombre de processeurs de la machine. Nous vous recommandons de ne pas dépasser 8 mtachild. L'ordre du millier de sessions semble une bonne valeur. Il faut alors augmenter le nombre de messages par child (maxMsgPerChild) pour avoir une durée de vie suffisante.

Sur cette page