Déterminer le fournisseur de messagerie d’un domaine

Dans le monde numérique d’aujourd’hui, savoir avec quelle plateforme de messagerie un domaine est associé peut être crucial pour les professionnels du marketing, les développeurs et les spécialistes de la cybersécurité. C’est ici qu’entre en jeu un petit outil de script puissant conçu pour Google Apps Script, capable de déterminer le service de messagerie utilisé par un domaine spécifique. Cet outil, appelé obtenirMessagerie, promet de simplifier la vie de nombreux professionnels.

L’identification du service de messagerie derrière un domaine peut s’avérer cruciale. Que ce soit pour des raisons de sécurité ou de communication, connaître ce détail offre un avantage certain. Heureusement, avec Google Apps Script, cette tâche devient accessible à tous.

Fonctionnement du script

Le script fonctionne en exploitant l’API de résolution DNS de Google pour récupérer les enregistrements MX (Mail Exchange) d’un domaine. Les enregistrements MX sont essentiels pour diriger le courrier électronique vers les adresses de messagerie correctes et sont donc un indicateur fiable du service de messagerie utilisé par un domaine.

Le code expliqué

Premièrement, il est essentiel de valider l’adresse du domaine. S’assurer qu’elle n’est ni vide ni mal formée est un préalable. Pour ce faire, notre script examine si la chaîne de caractères contient un point, indicatif d’un domaine valide.

Ensuite, la magie opère grâce à une requête DNS. Le script envoie une demande à l’API de Google DNS, cherchant les enregistrements MX du domaine. Ces enregistrements sont cruciaux. Ils nous indiquent par quelle porte les emails entrent et sortent du domaine.

En cas d’échec de la requête, le script agit prudemment. Il enregistre l’erreur et informe l’utilisateur. De même, si la réponse ne peut être analysée, un message d’erreur spécifique est retourné. Cette étape de vérification garantit que notre script ne trébuche pas sur des réponses inattendues.

La réponse de l’API, une fois reçue et analysée, révèle les enregistrements MX. C’est là que notre investigation prend tout son sens. Le script parcourt ces enregistrements à la recherche de domaines spécifiques. Chaque domaine trouvé est associé à un fournisseur de messagerie connu : Google Workspace, Microsoft, Zoho, et bien d’autres.

Finalement, si aucun fournisseur n’est identifié, le script conclut à l’inconnu. Cela signifie soit que le domaine n’utilise pas de service de messagerie grand public, soit que ses enregistrements MX sont atypiques.

En résumé, notre script rend l’analyse des enregistrements MX à la fois simple et accessible. Il fournit une méthode claire pour déterminer le service de messagerie d’un domaine, outil précieux dans le monde numérique actuel.

/**
 * Trouve le service de messagerie utilisé par un domaine.
 *
 * @param {string} domaine Le domaine à vérifier pour son fournisseur d'email.
 * @return {string} Le nom du fournisseur d'email ou 'Inconnu' si non trouvé.
 * @customfunction
 */
function obtenirMessagerie(domaine) {
  // Valide l'entrée du domaine pour s'assurer qu'elle n'est pas vide ou invalide
  if (!domaine || typeof domaine !== 'string' || !domaine.includes('.')) {
    return 'Domaine invalide';
  }

  var urlRechercheDNS = 'https://dns.google.com/resolve?name=' + encodeURIComponent(domaine) + '&type=MX';
  var reponse;

  try {
    // Effectue la requête HTTP GET
    reponse = UrlFetchApp.fetch(urlRechercheDNS);
  } catch (e) {
    // Journalise et retourne le message d'erreur si la requête échoue
    Logger.log('Échec de la récupération des informations DNS : ' + e.message);
    return 'Erreur lors de la récupération des informations DNS';
  }

  var json;

  try {
    // Analyse la réponse comme du JSON
    json = JSON.parse(reponse.getContentText());
  } catch (e) {
    // Journalise et retourne le message d'erreur si l'analyse JSON échoue
    Logger.log('Échec de l'analyse de la réponse JSON : ' + e.message);
    return 'Erreur lors de l'analyse des informations DNS';
  }

  // Vérifie si le champ Réponse existe dans la réponse JSON
  if (!json.Answer) {
    return 'Aucun enregistrement MX trouvé';
  }

  var fournisseursMessagerie = {
    'aspmx.l.google.com': 'Google Workspace',
    'SMTP.GOOGLE.COM': 'Google Workspace',
    'outlook.com': 'Microsoft',
    'zoho.com': 'Zoho',
    'ovh.net': 'Ovh',
    'orange.fr': 'Orange',
    'laposte.net': 'La Poste',
    'protonmail.ch': 'Proton Mail',
    'gmx.net': 'GMX',
    'yahoodns.net': 'Yahoo'
  };

  var enregistrementsMX = json.Answer;

  // Vérifie les enregistrements MX pour deviner l'espace de travail
  for (var i = 0; i < enregistrementsMX.length; i++) {
    var enregistrement = enregistrementsMX[i].data;
    for (var domaineMX in fournisseursMessagerie) {
      if (enregistrement.indexOf(domaineMX) !== -1) {
        return fournisseursMessagerie[domaineMX];
      }
    }
  }

  // Si aucune correspondance n'est trouvée, retourne inconnu
  return 'Inconnu';
}

Cas d’utilisation

Pour les professionnels du marketing, cela peut signifier la possibilité de cibler plus efficacement leurs campagnes par courrier électronique, en comprenant mieux les plateformes utilisées par leur audience. Pour les développeurs, cela peut faciliter l’intégration et la compatibilité des applications de messagerie. Et pour les experts en cybersécurité, cela fournit un moyen rapide d’identifier les services de messagerie d’un domaine, un premier pas essentiel dans l’évaluation de la sécurité des e-mails d’une organisation.

Conclusion

En bref, obtenirMessagerie est un exemple éloquent de la manière dont un script relativement simple peut offrir des informations précieuses et pratiques à partir de données publiquement accessibles. Que vous cherchiez à peaufiner une campagne marketing, à intégrer une application ou à évaluer la sécurité des e-mails, cet outil Google Apps Script pourrait bien être le compagnon dont vous aviez besoin.