Vous êtes attentif à la réputation de vos IPs d’envoi d’e-mails mais vous n’avez pas envie de vous rendre sur Senderscore.org pour vérifier vos IPs une par une ?

Pour automatiser ce traitement, déclarons une fonction qui prend par exemple en paramètre une IP et vous renvoie le SenderScore de celle-ci.

  1. On commence par déclarer la variable $score qui accueillera le résultat final.
  2. Ensuite, il faut inverser l’IP pour transformer par exemple 1.2.3.4 en 4.3.2.1
  3. On récupère les enregistrements DNS de 4.3.2.1.score.senderscore.com, qui vont ressembler à quelque chose comme ceci : Array ( [0] => Array ( [host] => 4.3.2.1.score.senderscore.com [class] => IN [ttl] => 9 [type] => A [ip] => 127.0.4.99 ) )
  4. Le tableau associatif renvoyé contient un index « IP ». Le score est ce qui se trouve sur le dernier octet de l’IP 127.0.4.99… soit 99. Il suffit de nettoyer un peu la chaîne et de retourner le score.
  5. Répéter avec autant d’IPs que nécessaire.

function checkScore($ip)
{
   //on initialise l'IP qui va accueillir le score
   $score = '--';

   //on inverse l'IP pour transformer 1.2.3.4 en 4.3.2.1
   $parts = explode('.', $ip);
   $parts = array_reverse($parts);
   $ip_reverse = implode('.', $parts);

   //soumission de l'IP inversée et récupération d'un tableau associatif
   $dns_record = dns_get_record($ip_reverse.'.score.senderscore.com');

   //si le tableau n'est pas vide, cela signifie qu'on a un score lié à cette IP et on le récupère après nettoyage de la chaîne, sinon cela signifie que Return Path n'a pas (encore ?) constaté de trafic sur votre IP
   if(!empty($dns_record))
   $score = str_replace('127.0.4.', '',$dns_record[0]['ip']);

   return $score;
}

Pour aller plus loin…

Vous pouvez par la suite automatiser cette tâche via un CRON pour vous envoyer par e-mail tous les matins les scores de vos IPs. Egalement pour un résultat visuel, pourquoi pas créer une fonction qui colorise le score obtenu (de vert à rouge, comme sur le site de Return Path). Il s’agit ici d’un début de tableau de bord « délivrabilité » pour le monitoring de vos IPs à compléter avec des informations comme les blacklists ou d’autres services équivalents à SenderScore.