Gmail: Comment générer un rapport d'adresses e-mail rejetées


 Le rapport sur les e-mails rejetés de Gmail crée un inventaire complet des adresses emails renvoyées. Il vous transmet également la réponse fournie par le serveur du destinataire pour avoir rejeter votre e-mail. il vous arrive que certains e-mails que vous avez envoyés via votre compte Gmail ne peuvent pas être transmis.
 Ce problème peut être  soit de l'adresse email male écrite du destinataire (faute de saisie), de la boîte aux lettres qui est peut être pleine ou du blocage causé par le serveur du destinataire qui n'a pas compris le contenu de votre message.

 Lorsque quelqu'un envoie un e-mail rejeté via Gmail, on reçoit un avis de renvoi automatique de "mailer-daemon@gmail.com", ce dernier contiendra souvent la raison exacte pour laquelle votre message est expulsé avec un code d'erreur SMTP.
 En effet, le code d'erreur 550 renseigne sur l'inexistence de l'adresse de messagerie tandis que 554 indique que votre e-mail a été désigné comme un spam par le serveur de messagerie du destinataire.
Si vous voulez une liste de ces codes  d'erreurs , je vous suggère cette liste référencée sur wikipédia:

 Les étapes d'obtention d'une liste des adresses e-mail qui ont été renvoyées: 

 Avant de commencer, il est essentiel de garder un indice de vos messages rejetés et de supprimer par la suite toutes adresses email non fonctionnelles de vos futurs envois car elles peuvent affecter votre réputation d'envoi. Le publipostage concernant Gmail garde une trace de tous vos messages renvoyés dans Gmail,cependant si vous ne l'utilisez pas encore, je vous suggère un script Google "Open source" qui vous arrangera dans une feuille de calcul Google, toute une liste des adresses e-mail qui sont renvoyées.

 Voici alors comment débuter:

 1- D'abord, cliquez sur ce LIEN  pour faire une copie de la feuille de calcul Google.

 2- Puis ouvrez le menu "Emails renvoyés" dans votre feuille Google,et sélectionnez ensuite l'option "Exécuter le rapport".

 3- Autorisez le script Google pour qu'il puisse analyser votre compte Gmail concernat les e-mails rejetés et de les marquer dans une feuille de calcul Google. Le script s'exécute entièrement dans votre compte Google et n'ayez pas peur qu'une donnée soit stockée ou partagée.

 4- Vous allez constater que la feuille Google est remplie d'adresses e-mail rejetées et renvoyées.

 Ce dit rapport, comporte l'adresse e-mail qui a été rejetée, la raison pour laquelle ce message n'a pas été transmis et la date à laquelle le rejet s'est produit.

 La feuille de calcul recevra aussi un lien direct vers le message renvoyé à partir de mailer-daemon.

 Comment fonctionne ce script (Partie technique):

 A noter que le script utilise l'API Gmail pour recouvrer une liste de tous les e-mails renvoyés dans votre boîte de réception.

const findBouncedEmails = () => {
  const { messages = [] } = Gmail.Users.Messages.list('me', {
    q: 'from:mailer-daemon',
    maxResults: 200
  });
  for (let m = 0; m < messages.length; m += 1) {
    const bounceData = parseGmailMessage(messages[m].id);
    if (bounceData) {
      SpreadsheetApp.getActiveSheet().appendRow(bounceData);
    }
  }
};
Ensuite, le script analyse les en-têtes (barre des adresses électroniques) des messages renvoyés avec regex (= expressions régulières) et écrit les informations renvoyées dans cette feuille Google.

const parseGmailMessage = messageId => {
  const message = GmailApp.getMessageById(messageId);
  const body = message.getPlainBody();
  const [, failAction] = body.match(/^Action:\s*(.+)/m) || [];

  /* If failAction is "delayed", igore message since Gmail will retry it */
  if (failAction === 'failed') {
    /* The X-Failed-Recipients header in Gmail contains the recipient's address */
    const emailAddress = message.getHeader('X-Failed-Recipients');
    /* Get the SMTP error code
       The first sub-field indicates whether the delivery attempt was successful
       (2= success, 4 = persistent temporary failure, 5 = permanent failure). */
    const [, errorStatus] = body.match(/^Status:\s*([.\d]+)/m) || [];
    /* The Diagnostic-Code DSN field contains the actual diagnostic code
       Some mail systems supply no additional information beyond that
       which is returned in the 'action' and 'status' fields. */
    const [, , bounceReason] =
      body.match(/^Diagnostic-Code:\s*(.+)\s*;\s*(.+)/m) || [];
    return [
      message.getDate(),
      emailAddress,
      errorStatus,
      bounceReason.replace(/\s*(Please|Learn|See).+$/, ''),
      `=HYPERLINK("${message.getThread().getPermalink()}";"View")`
    ];
  }
  return false;
};
 Accédez au menu "Outils" sur votre feuille de calcul Google et choisissez "Éditeur de script" pour afficher le code source complet du script Google.En tant qu'invité vous pouvez réutiliser/ modifier ce code.

Publier un commentaire