X

Utilisation de SparkPost pour les e-mails transactionnels avec Laravel


Récemment, Mandrill a annoncé qu’il mettrait fin à son service de messagerie transactionnelle et qu’il serait remplacé par un service secondaire pour les utilisateurs payants de MailChimp. C’est très bien pour eux, mais beaucoup d’entre nous l’utilisaient pour de petites applications ponctuelles et n’étaient pas intéressés à payer tout d’un coup pour envoyer 100 e-mails par mois.

Mailgun et Sendgrid sont des fournisseurs de messagerie transactionnelle de secours depuis un certain temps, et il existe également le SES d’Amazon, CampaignMonitor et le cachet postal premium à coût plus élevé et à temps de disponibilité élevé.

Mais juste au moment où Mandrill a annoncé son changement de prix, un nouveau fournisseur de messagerie transactionnelle est sorti de nulle part : SparkPost. Ils prétendent qu’ils existent depuis des années et qu’ils alimentent la majeure partie d’Internet, mais ce n’est pas tout à fait vrai. Ils sont plutôt un nouveau service transactionnel construit sur un vieux et une infrastructure puissante, appelée “Momentum” par MessageSystems. Mais Momentum lui-même est définitivement prouvé :

Passons donc en revue le processus d’inscription et de déplacement de Giscus, mon application pour vous informer des commentaires sur vos points essentiels, de Mandrill à SparkPost.

Remarque : La plupart des choses dans cet article sont faciles à faire. Je l’écris pour vous donner une idée de ce qu’est SparkPost au cas où vous voudriez le comparer avec un autre fournisseur, pas parce que je pense que vous avez besoin d’instructions pour vous inscrire. 🙂

Inscription à SparkPost

D’abord, allons nous inscrire.

100 000 e-mails gratuits par mois pendant toute la durée de vie du compte ? Oui s’il te plaît.

Maintenant, j’entre dans mon domaine. Malheureusement, je n’ai accès à aucune de ces adresses e-mail, alors voyons ce que nous pouvons faire d’autre.

Je vais choisir REST. Nous pourrions techniquement utiliser l’un ou l’autre, mais je préfère utiliser une API si possible. Cela me donne une clé API, je vais donc la copier, puis me diriger vers le tableau de bord.

Remarque : Si vous voulez que cela soit fait rapidement, ou si vous utilisez Laravel avant la version 5.2, utilisez simplement SMTP. Vous pouvez copier les informations d’identification, les coller dans votre .env fichier, mettez à jour la configuration de votre application pour utiliser SMTP, puis vous avez terminé.

Eh bien, n’est-ce pas joli ! Cette limite quotidienne était de 500 jusqu’à ce que je vérifie mon adresse e-mail, mais maintenant c’est 10 000. Et après? Vérifier mon domaine d’envoi. Faisons-le.

Comme tout autre fournisseur de messagerie, je devrai configurer des enregistrements DKIM et SPF pour vérifier la propriété du domaine. Votre expérience peut varier en fonction de votre fournisseur DNS, mais avec DNSimple, c’est simple comme bonjour. Une fois que j’ai configuré les enregistrements SPF et DKIM, j’ai été marqué “prêt à envoyer”.

Configurer SparkPost avec Laravel

Notre compte SparkPost est donc opérationnel. Connectons-le maintenant à Giscus.

Comme je l’ai mentionné plus tôt, l’option la plus rapide est SMTP. Mais je veux essayer l’intégration complète de l’API, donc je vais mettre à niveau Giscus vers la version 5.2 en utilisant Laravel Shift, puis cela me donnera accès au pilote SparkPost.

Assurez-vous que vous êtes sur Laravel 5.2.29 ou version ultérieure. Je ne l’étais pas, alors j’ai mis à jour, et maintenant je dois ajouter un sparkpost tableau à mon config/services.php déposer:

'sparkpost' => [
    'secret' => env('SPARKPOST_SECRET'),
],

Je vais récupérer ma clé API que j’ai stockée plus tôt, me diriger vers mon .env fichier, et mettez-le là comme SPARKPOST_SECRET:

SPARKPOST_SECRET=1509812piu4nlkjadhfo98qwrw

Enfin, je mettrai à jour .env pour lui montrer que j’utilise sparkpost conducteur:

MAIL_DRIVER=sparkpost

Et c’est tout! Le courrier arrive maintenant via mon nouveau pilote SparkPost.

Le tableau de bord

L’une des principales raisons pour lesquelles j’ai écrit cet article était de montrer aux gens à quoi ressemble SparkPost, alors voici quelques captures d’écran du tableau de bord :

Comptes utilisateur

Webhooks

Rapports

Recueil

SparkPost propose également des listes et des modèles, si vous souhaitez utiliser directement leur API. Découvrez le package PHP-SparkPost sur Packagist.

Mise en garde importante :

Une chose que j’ai remarquée est que quelque chose que je ferais souvent sur d’autres fournisseurs (je ne me souviens plus qui l’a et qui ne l’a pas, malheureusement, mais je sais que Mailgun le fait) est d’inspecter le contenu d’un e-mail qui a été envoyé . Je l’utiliserai souvent pour déboguer ou aider les gens avec des problèmes de spam.

Je n’ai pas encore découvert comment le faire dans SparkPost, et je crains que ce ne soit pas possible. j’ai a demandé SparkPost sur Twitter, donc nous verrons quelle est la réponse. S’ils ne l’ont pas, ce serait une raison suffisante pour que j’utilise Mailgun à la place. J’espère que je me trompe, cependant, et qu’il se cache juste quelque part!

Conclusion

C’est tout. Il est très simple de configurer et de vérifier un compte SparkPost ; c’est une plate-forme éprouvée ; ils ont un forfait gratuit généreux; et le tableau de bord est très facile à utiliser, sauf l’éventuel manque de capacité à inspecter les messages individuels.

Avez-vous eu de bonnes ou de mauvaises expériences avec SparkPost ? Fais-moi savoir sur Twitter.