création de site internet

flus RSS du blogsur Facebooksur Twitter
créateur de mot de passe

Générateur de mot de passe

Créez un mot de passe sécurisé

04
06

API pour contrôler le score spamassassin

dans PHP

Les antispam tels que SpamAssassin se basent sur une notation (ou score) pour déterminer si les emails sont potentiellement des spams ou non. Plus le score est élevé, plus les chances sont grandes pour que l'antispam bloque le message. Ce score est calculé à partir de différentes règles appliquées sur le contenu et la structure des messages (présence de mots "interdits", structure HTML incorrecte, images en trop grand nombre, ...).

La société américaine Postmark est un fournisseur de solutions techniques pour l'envoi d'emails et la délivrabilité. Certes, rien d'original, il existe de nombreux prestataires de tels services. En revanche, ils ont la bonne idée de fournir une API gratuite permettant de calculer le score d'un email HTML en se basant sur les règles de SpamAssassin.

L'API est extrêmement simple à prendre en main : un simple appel en Curl via votre script PHP et un résultat retourné au format JSON. Il suffit de passer en paramètre le contenu complet (entête + contenu HTML) de son email (voir ci-dessous pour créer un entête d'email complet et suffisant).

L'API vous retourne la note calculée par SpamAssassin (une note supérieure à 5 fait que l'email est considérée comme un spam), et plus intéressant encore, la note affectée à chaque règle relevée par l'antispam. Ce qui est particulièrement pertinent à exploiter pour améliorer la qualité de ses messages. En fait chaque règle se voit affecter une note en fonction du résultat obtenu sur le message. Une note égale à 0 signifie que la règle est bien vérifiée, en revanche une note positive indique que la règle n'est pas vérifiée. Et plus la règle a d'importance, plus la note est élevée. Au final c'est la somme de toutes les notes qui fixe le score obtenu par l'email. D'où l'importance de valider le plus de règles possibles.

Créer un entête d'email

Pour terminer, voilà le format que doit posséder l'entête de votre email :

Reply-To: <monemaildereponse@undomaine.com>
From: "Nom de l'expediteur" <monemaildexpediteur@undomaine.com>
To: "Nom du destinataire" <unemaildedestinataire@undomaine.com>
Subject: L'objet de votre email<br />
Date: Fri, 1 Jun 2012 14:00:13 +0200
Message-ID: <unechainealéatoire.uneautrechainealeatoire@undomaine.com>
MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
X-Mailer: lexmailerdevotrewebmail

Un exemple pour plus de clarté :

Reply-To: <contact@alexis-ragot.com>
From: "Alexis RAGOT" <contact@alexis-ragot.com>
To: "Mark Zuckerberg" <misterz@facebook.com>
Subject: Hey Mark une autre idee de site
Date: Fri, 1 Jun 2012 14:00:13 +0200
Message-ID: <4a034ed2188f4b889d005a972eb0038d@alexis-ragot.com>
MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Office Outlook 11

Il existe de multiples raisons d'exploiter cette API. Par exemple si vous avez développé un outil qui vous permet de générer le contenu HTML de vos newsletters et que vous souhaitez tester votre message sur les règles des antispam. Personnellement j'ai ainsi développé un outil qui me permet de tester le contenu de tous les emails HTML que j'exploite.

Plus d'informations : la documentation sur le site de Postmark

Partager :