Installation de Sparkpost pour plugin Mailshot de SPIP

Publié le 13 mai 2016 par Jmtconseils @jmtconseils

Mailshot est un plugin de SPIP qui permet l'envoi en nombre d'emails au moyen d'un SMTP ou d'un service externe dédié à cet effet. C'est l'envoi par le service externe Sparkpost qui nous intéresse ici et dont je vais détailler l'installation .

J'ai installé pour plusieurs clients réalisant des envois de newsletters à leurs abonnés ce plugin Mailshot avec envoi via Mandrill. La plus ancienne installation client date d'octobre 2013.

Or l'utilisation du service Mandrill est désormais soumise à l'utilisation d'un compte MailChimp payant depuis le 27 avril 2016, ce qui en restreint l'accès.

La communauté SPIP a rapidement mis à jour le plugin Mailshot en intégrant deux nouveaux routeurs : Mailjet et Sparkpost.

Sparkost

Après m'être penché sur Mailjet, je ne l'ai pas retenu en raison de sa limitation d'envoi à 200 mails/jours soit 6.000 mails/mois dans son offre gratuite. Sans rechercher de forts volumes mensuels, je souhaite trouver une solution permettant d'envoyer une fois par mois au moins 250 mails en une seule fois pour un client et à l'autre extrémité entre 20.000 et 60.000 mails/mois de manière très irrégulière avec un budget raisonnable pour un autre client.

Sparkpost offre la possibilité d'envoyer jusqu'à 100.000 mails/mois, c'est pourquoi je l'ai retenu.


Après avoir choisi l'offre gratuite, je crée mon compte en renseignant classiquement les champs Email et Mot de passe.
A noter qu'il est indiqué plus de 40 données de délivrabilités et de taux d'engagement disponibles en temps réels. On verra plus tard de quoi il s'agit.


Je ne valide pas à ce stade le domaine d'où partiront les mails, en cliquant en haut à droite "Skip for Now"

SMTP ou API

Puis je clique sur "GET A KEY" car on passe ici par un service externe depuis Mailshot pour l'envoi en nombre de nos emails.


Ma clé personnelle s'affiche. Je la copie dans le plugin Mailshot et valide.


Validation du domaine

Je retourne au dashboard et note que je peux importer ma liste de désabonnés ou black list "suppression list" depuis mon précédent provider.

Je valide mon domaine depuis le dashboard, Account / Sending domains

Je choisis de valider mon domaine en entrant une clé SPF.
Sparkpost me demande d'enter la clé DKIM pour une meilleure délivrabilité.
Mon hébergeur est OVH, l'intégration des clés SPF et DKIM se font classiquement en mode TXT.


Envoi du mail de test

Après avoir validé email et domaine, la limite d'envoi de mail journalier devient 10.000 mails/jour et l'on peut adresser un mail de test pour terminer son process.


Et là, extraordinaire, je reçois bien l'email adressé depuis la plateforme Sparkpost.

Envoi depuis Infolettes

Reste à vérifier, et l'objectif était bien là, à vérifier que depuis le plugin Infolettes, je peux bien adresser mes newsletters à mes abonnés.

Je fais le test en envoyant à 1 personne. Tout est OK.


Précaution à prendre

L'adresse email d'envoi renseigné dans le plugin Mailshot doit être lié au nom de domaine validé dans Sparkpost.
Dans le cas contraire on a l'erreur suivante

7001 Invalid domain array ( 'options' => array ( 'open_tracking' =>
false, 'clic_tracking' => false, ), 'campaign_id' => '',
'recipients' => array ( 0 => array ( 'address' =>
array ( 'email' => 'emaildestinataire@ext', 'name' => '', ), ), ),
'content' => array ( 'from' => array ( 'email' => 'emaildenvoi@ext',
'name' => 'Titre', ), 'subject' => 'Sujet', 'headers' =>
array ( 'Precedence' => 'bulk', ), 'text' => '...', 'html' => '...', ), )

Cas d'un sous-domaine

L'envoi depuis Infolettres se fait depuis un sous-domaine.
L'email d'envoi est bien celle du domaine validé dans Spakpost.

Il faut valider le nom de domaine principal et le sous domaine.