Serveurs de diffusion
Le module mta distribue les messages à ses modules enfants mtachild. Chaque mtachild prépare les messages, puis demande l'autorisation au serveur de statistiques avant de les envoyer.
Les étapes sont les suivantes :
- Le mta sélectionne les messages éligibles pour l'envoi et les assigne à un mtachild disponible.
- Le mtachild charge toutes les informations nécessaires pour construire le message (contenu, éléments de personnalisation, pièces jointes, images, etc.) et transmet le message au gestionnaire d’envoi (Email Traffic Shaper).
- 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 envoyée par le serveur de messagerie distant. Cette adresse IP peut différer de celle de la machine qui héberge le mta, si un routeur NAT est fourni. C’est pourquoi le serveur de statistiques utilise un identifiant qui correspond à l’adresse 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 d'envoi. 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 :
-
Success : le message est envoyé avec succès. Le message est mis à jour.
-
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.
-
É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).
NOTE
Un chemin désigne une connexion entre le mta Adobe Campaign et le mta cible. Le mta Adobe Campaign peut choisir parmi plusieurs adresses IP de départ et plusieurs adresses IP de domaine cible.
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.