Configurer Sparkpost

N’hésitez pas à relire le préambule de cette rubrique avant de créer un compte sur une plateforme tierce .

Présentation

Sparkpost est une société d’envoi de mailing
https://www.sparkpost.com/

Sur les petits volumes ( < 750 emails par jour et < 15.000 par mois ), l’envoi reste gratuit (Avril 2019). Il peut être utilisé comme solution d’envoi pour les plugins SPIP Mailshot et Facteur.

Cet article a pour objectif de vous aider à bien paramétrer la plateforme.

Septembre 2018 : Sparkpost a refondu son interface, les captures ne correspondent plus à l’interface actuelle. Si un volontaire veut proposer des nouvelles captures, n’hésitez pas à me contacter.

Requis technique

La plateforme Sparkpost requiert une configuration précise sur le serveur

Il est nécessaire d’avoir ces options suivantes installées dans votre configuration PHP :

  • CURL
  • Registered Stream Socket Transports : il faut avoir la mention tls1.2

Pour vérifier sa configuration PHP, aller sur la page : http://tondomaine.xxx/ecrire/?exec=info

Chez OVH, on a automatiquement tls1.2 quand on a une config dite « stable »...ce qui se définit dans le fichier .ovhconfig qui doit être à la racine de ton hébergement...

Étape 1 : se créer un compte

Se créer un compte sparkpost et le valider.

Étape 2 : enregistrer le domaine d’envoi

  • Menu Account > Sending Domains : Ajouter votre domaine
  • Ajouter les enregistrements DNS TXT
  • Envoyer un email de postmaster@... ou abuse@...

Le but du jeu est d’avoir tout au vert comme le montre la capture suivante :

Étape 3 : générer les clés de l’API

  • Menu Account > API KEYS : générer vos clés

Dans l’exemple ci-dessus, on a créé 2 clés, l’une pour Facteur (avec l’envoi SMTP uniquement), l’une pour Mailshot (avec tous les droits). Mais vous pouvez utiliser une seule clé si vous le souhaitez.

Étape 5 : Récupérer la configuration du SMTP

  • Menu Account > SMTP RELAY

Étape 6 : Éventuellement ajouter un sous-domaine pour assurer le tracking (les statistiques)

  • Menu Account > Tracking Domaines
  • Ajouter un sous-domaine pour assurer le suivi statistique des envois avec une URL du type stat.xxx.org

Ce genre de paramétrage vous met à l’abri d’un éventuel changement de prestataire ( si demain vous changez de fournisseur)

Étape 7 : générer le webhook

Cette étape est inutile, le webhook sera rempli automatiquement après l’envoi de la 1re newsletter

  • Menu Account > Webhook

Étape 8 : Renseigner les paramètres dans les plugins SPIP Mailshot et Facteur

Aller dans la configuration des plugins

Mailshot ( ecrire/?exec=configurer_mailshot)

  • choisir Sparkpost et renseigner la clé de votre API

Facteur /ecrire/?exec=configurer_facteur (version 3.4.0 minimum)

  • Cocher et renseigner l’option pour forcer le champs From

Chez OVH en mutualisé, deux points cruciaux :

  • Configurer le port 2525 au lieu du port 587
  • Activer l’option « Forcer cette adresse d’envoi quand le From n’est pas sur le même domaine »

Si côté Sparkpost tous les voyants sont verts, il faut maintenant tester que les emails partent bien depuis SPIP.

Bonne chance !

Documentation (en anglais)

Discussion

11 discussions

  • 3

    J’ai une erreur à l’envoi des newsletters avec Sparkpost. Tout fonctionnait jusqu’à il y a 15 jours et maintenant à l’envoi j’ai :
    3002 Invalid header array ( 'options' => array ( 'open_tracking' => false, 'clic_tracking' => false, ), 'campaign_id' => '', 'recipients' => array ( 0 => array ( 'address' => array ( 'email' => 'xx@site.fr', 'name' => '', ), ), ), 'content' => array ( 'from' => array ( 'email' => 'contact@site.fr', 'name' => 'site', ), 'subject' => '[TEST] Votre compte - your account', 'headers' => array ( 'Errors-To' => '', 'Precedence' => 'bulk', ), 'text' => '...', 'html' => '...', ), )

    D’après la doc Sparkpost 3002 est une erreur des headers dans le template.
    Le support Sparkpost ne voit rien de fautif et cale aussi.
    Ils m’ont indiqué "the « option clic_tracking=>false », which might be causing the error as it should be « option click_tracking=>false »
    J’ai essayé mais l’erreur persiste.

    J’ai testé avec la même clé API l’envoi via le SMTP Sparkpost depuis facteur et là les envois sont OK.
    J’ai plusieurs sites sur le même compte Sparkpost et il n’y en a qu’un qui bug.
    Je cale donc.
    Merci

    • et dans mailsot.log j’ai ça :
      « 2019-03-19 21:48:26 2a01:e35:8794:8300:cdb6:fcfe:31f7:ddfa (pid 58881) :Pri:ERREUR : SparkPost API Call transmissions : Erreur 3002 Invalid header »
      Je ne sais pas si l’erreur est coté SPIP ou Sparkpost

    • Bonjour,

      As tu essayer de revalider la clé dans ta configuration ?

    • Oui plusieurs fois. La clé API semble correcte puisqu’elle fonctionne avec un envoi en SMTP.

      J’ai remarqué quelque chose d’inhabituel sur ce site : lorsque je valide des modifications dans les formulaires (une page auteur, une config newsletter par exemple) j’ai en retour
      Il y a 1 erreur dans votre saisie, veuillez vérifier les informations.

      Si je réitère la validation je n’ai plus ce message.

    Répondre à ce message

  • 2

    Bonjour à tous,

    Je rencontre depuis ce matin un soucis avec tous mes sites (ils sont nombreux) exploitant Sparkpost.

    Lors d’un envoi via l’API et le plugin newsletter, je reçois le message d’erreur suivant :
    ??? Fail recuperer_page array ( 'options' => array ( 'open_tracking' => false, 'clic_tracking' => false, ), 'campaign_id' => '', 'recipients' => array ( 0 => array ( 'address' => array ( 'email' => 'jul@blabla.com', 'name' => '', ), ), ), 'content' => array ( 'from' => array ( 'email' => 'jul@blabla.com', 'name' => 'Site de démonstration ', ), 'subject' => '[TEST] Petites annonces', 'headers' => array ( 'Errors-To' => 'no-reply@blabla.com', 'Precedence' => 'bulk', ), 'text' => '...', 'html' => '...', ), )

    L’envoi via SMTP fonctionne sans soucis mais bon c’est dommage de perdre l’usage de l’API...

    J’ai reçu un email de Sparkpost envoyant sur ce lien :
    https://www.sparkpost.com/docs/tech-resources/tlsv1-0-test-hostname/

    Visiblement il y a du changement de protocole TLS et des urls des serveurs à partir du 1er Juillet !

    Je tiens à signaler que j’utilise SPIP 3.2.1 et que tous les plugins sont à jour.

    Merci de votre assistance !

    Répondre à ce message

  • Hello,

    Je teste le SMTP Sparkpost spécial Europe : smtp.eu.sparkpostmail.com avec Facteur.
    J’ai l’erreur persistante « SMTP Error : Could not connect to SMTP host. »
    Est-ce que cela peut venir de la config de Facteur ?

    Le smtp.sparkpostmail.com fonctionne bien.

    Merci
    dd

    Répondre à ce message

  • 1

    J’ai une question sur la gestion des désabonnement quand on couple SparkPost avec Mailsubscribers et Mailshot

    Comment se passent les désinscriptions ?

    Logiquement, le lien de désabonnement est dans le mail généré et passe par SPIP, c’est bien ça ?

    • Hello,

      Oui c’est exact. Et l’inscription à la newsletter passe en « suspendue »

    Répondre à ce message

  • 1

    L’envoi des newsletters fonctionnait sans problème jusqu’à hier.

    J’utilise Sparkpost et aujourd’hui rien ne part et jai l’ereur :

    3002 Invalid header array ( 'options' => array ( 'open_tracking' => false, 'clic_tracking' => false, ), 'campaign_id' => '', 'recipients' => array ( 0 => array ( 'address' => array ( 'email' => 'testenvoi@site.com', 'name' => '', ), ), ), 'content' => array ( 'from' => array ( 'email' => 'mail@site.fr', 'name' => 'nom', ), 'subject' => 'Invitation', 'headers' => array ( 'Errors-To' => '', 'Precedence' => 'bulk', ), 'text' => '...', 'html' => '...', ), )

    Si j’envoie un mail de test depuis facteur c’est bon. De même avec un mail test depuis sparkpost.

    Est-ce que cela vient du header des newsletters ?

    merci
    dd

    • Je m’auto réponds : j’ai régénéré une clé API sur Sparkpost et cela à résolu le problème.

    Répondre à ce message

  • 5

    Salut tout le monde,

    j’ai tout fait comme expliqué sur cette page, mais ça ne marche pas.
    Le plugin facteur refuse d’envoyer un mail (bien que ça ait marché une fois ?) :

    SMTP Error : Could not authenticate.

    Et la newsletter me fait cette erreur, si ça peut aider :

     ??? Fail recuperer_page array ( ’options’ => array ( ’open_tracking’ => false, ’clic_tracking’ => false, ), ’campaign_id’ => ’’, ’recipients’ => array ( 0 => array ( ’address’ => array ( ’email’ => ’info@inegalites.be’, ’name’ => ’’, ), ), ), ’content’ => array ( ’from’ => array ( ’email’ => ’info@inegalites.be’, ’name’ => ’Observatoire Belge des Inégalités’, ), ’subject’ => ’test’, ’headers’ => array ( ’Precedence’ => ’bulk’, ), ’text’ => ’...’, ’html’ => ’...’, ), )

    Aucune idée de ce que je dois faire... Vous êtes plus inspirés ?

    Répondre à ce message

  • 1

    Salut à tous,

    À propos de mailshot, je me suis retrouvé avec un message d’erreur avec Sparkpost (qui avait bien fonctionné en juillet pourtant).

    Spip me renvoit :
    3000 substitution language syntax error in template content array ( 'options' => array ( 'open_tracking' => false, 'clic_tracking' => false, ), 'campaign_id' => '', 'recipients' => array ( 0 => array ( 'address' => array ( 'email' => 'email1ici', 'name' => '', ), ), ), 'content' => array ( 'from' => array ( 'email' => 'email2ici', 'name' => 'Nom', ), 'subject' => 'Lettre d\'info', 'headers' => array ( 'Precedence' => 'bulk', ), 'text' => '...', 'html' => '...', ), )

    Je ne sais pas si cela a un rapport avec cette notice de Sparkpost reçue par email et dont je ne sais quoi faire :

    • Users who programmatically process the results of the Suppression-List API GET to update their system will be impacted by this change.
    • If you don’t us
      e the Suppression-List API, you can disregard this message.

    Je peux transférer le mail complet si besoin, le lien renvoyait ici https://developers.sparkpost.com/api/suppression-list.html

    Fa_b

    Répondre à ce message

  • J’ai un probleme avec l’import.
    Une fois ma liste importee je ne vois que la moitie des mails que j’ai importe dans mes subscribers.
    Quelqu,un peut il m’aider.

    Répondre à ce message

  • 5
    stéphane

    « Si côté Sparkpost tous les voyants sont verts, il faut maintenant tester que les emails partent bien depuis SPIP.

    Bonne chance ! »

    et bien tous les voyant sont au vert (je l’avoue avec bien du mal)

    mais la je pige quand je test le facteur j’ai droit a

    une idée ou chercher
    merci

    Répondre à ce message

  • liberté

    Bonjour,

    Merci pour ta contribution.

    À l’étape 3 tu indiques que l’on peut choisir une ou deux clés. Par exemple une pour Facteur avec envoi SMTP et l’autre avec tous les droits pour Mailshot.

    Quel est l’intérêt de prendre 2 clés ?

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom