Comment migrer de Mailgun vers SendGrid

Publié: 2018-11-10

Si Mailgun est votre fournisseur de services de messagerie actuel et que vous cherchez à faire un changement, ce tutoriel vous aidera à migrer vers SendGrid en mettant en évidence les différences entre les deux services.

Si vous souhaitez jeter un coup d'œil avant de commencer, consultez la documentation de SendGrid qui comprend d'excellentes ressources avant de vous plonger dans la référence et les détails de l'API.

Terminologie

Si vous recherchez l'équivalent SendGrid de certaines fonctionnalités de Mailgun, le tableau suivant vous aidera :

Terme SendGrid Terme Mailgun
substitutions/sections données de remplacement
catégories Mots clés
uniques_args X-Mailgun-Variables
Informations d'identification multiples Accès multi-utilisateurs
sous-utilisateur Mailgun ne fournit pas de sous-utilisateurs discrets.
suppressions suppressions
X-SMTPAPI Mailgun utilise un X-Header discret pour chaque option de configuration, comme X-Mailgun-Recipient-Variables
Webhook d'analyse entrante Itinéraires
Webhook d'événement Webhooks
Campagnes marketing Aucun équivalent

Obtenir une clé API

Tout d'abord, vous aurez besoin d'un compte SendGrid. Ensuite, vous devez créer une clé API que vous utiliserez pour l'envoi. Allez dans Paramètres -> Clés API ou utilisez ce lien. Une bonne pratique SendGrid et de sécurité consiste à utiliser une clé API différente pour chacune de vos différentes applications. Les clés d'API ont des autorisations granulaires, vous pouvez donc activer ou désactiver l'accès en lecture ou en écriture pour des points de terminaison individuels. Assurez-vous que la clé API que vous créez dispose d'un accès complet à Mail Send . (Remarque : Votre compte doit réussir le provisionnement avant que vous puissiez créer une clé d'API.)

Bibliothèques d'API

Nous avons un certain nombre de bibliothèques d'API officiellement prises en charge pour faciliter l'intégration pour nos clients. Si vous réécrivez du code ou refactorisez la façon dont vous communiquez avec votre ESP dans le cadre de votre migration, le moment est venu d'évaluer ces bibliothèques :

  • sendgrid-csharp – Bibliothèque C# officielle
  • sendgrid-go – Bibliothèque officielle de Go
  • sendgrid-java - Bibliothèque Java officielle
  • sendgrid-nodejs – Bibliothèque officielle NodeJS
  • sendgrid-php – Bibliothèque PHP officielle
  • sendgrid-python - Bibliothèque Python officielle
  • sendgrid-ruby – Bibliothèque Ruby officielle

SMTP

Si vous envoyez via SMTP, vous devez connaître quelques différences. Pour vous authentifier, fournissez la chaîne 'apikey' comme nom d'utilisateur SMTP et utilisez votre clé API comme mot de passe. Pointez ensuite votre nom d'hôte sur smtp.sendgrid.net .

Vous pouvez vous connecter en utilisant SMTP via non crypté ou TLS sur les ports 25, 2525 et 587. Vous pouvez également vous connecter via SSL sur le port 465. En général, nous recommandons le port 587 car il a tendance à entraîner le moins de problèmes avec les hébergeurs.

Le mécanisme de personnalisation des e-mails envoyés via SMTP est notre en-tête X-SMTPAPI. Cet en-tête vous permettra de définir des substitutions, d'envoyer des requêtes de style publipostage groupées et de contrôler les filtres (comme le suivi des clics) qui sont actifs pour votre envoi.

HTTP

Le point de terminaison principal pour l'envoi d'e-mails est le point de terminaison Mail. Les demandes adressées à ce point de terminaison sont authentifiées via un en-tête d'autorisation avec votre clé API présentée sous la forme d'un jeton porteur. Vous pouvez trouver un exemple plus détaillé dans nos docs.

Les personnalisations vous permettent de définir des destinataires et des métadonnées pour chaque message, telles que des valeurs de substitution pour personnaliser le contenu ou custom_args pour associer des messages à des ID utilisateur ou des numéros de commande. Il existe un certain nombre d'exemples de personnalisations pour des cas d'utilisation courants. Vous pouvez également trouver des exemples d'appels cURL.

Les fonctionnalités telles que le suivi des clics sont configurées via les paramètres tracking_settings et mail_settings. Vous pouvez également programmer des envois jusqu'à 72 heures à l'avance en utilisant le paramètre "send_at".

Les pièces jointes envoyées via HTTP sont traitées différemment de Mailgun. Mailgun nécessite un POST multipart/form-data contenant les fichiers à joindre. Avec SendGrid, le contenu est encodé en Base64 et intégré directement dans la charge utile JSON aux côtés des informations MIME, en gardant l'intégralité de votre message dans la même charge utile et en simplifiant votre requête HTTP. Vous pouvez en savoir plus sur l'inclusion de pièces jointes dans la section suivante de notre salle de documentation.

Webhooks

SendGrid fournit deux webhooks : le Webhook d'événement pour publier des événements en temps réel et le Webhook Inbound Parse pour recevoir des e-mails et y répondre par programme. Les formes de données et les charges utiles sont un peu différentes de ce que propose Mailgun. Nous ne prenons pas non plus actuellement en charge le routage des messages entrants vers différentes URL de rappel ; vous devrez gérer ce type de logique dans le code plutôt qu'au niveau de l'API.

Points de terminaison d'API non e-mail

Pour les points de terminaison d'API qui n'envoient pas d'e-mails, consultez la présentation de l'API v3. Nous utilisons des méthodes HTTP intuitives et des codes de réponse dans la plupart des cas, et appliquons des limites de débit pour les appels. L'API v2 est obsolète, bien qu'il n'y ait pas de calendrier pour arrêter de la prendre en charge. Toutes les nouvelles intégrations devraient préférer la v3. L'authentification API v3 est réalisée par un en-tête d'authentification avec un jeton Bearer.

Campagnes marketing

Nous disposons d'une plate-forme complète pour gérer les listes de contacts, créer et concevoir des modèles, tester différents modèles A/B et planifier des campagnes. Tout cela est intégré dans une interface utilisateur facile à utiliser pour les non-développeurs. Et bien sûr, vous pouvez également accéder à toutes ces fonctionnalités via notre API Marketing Campaigns.

Quelques FAQ

Q : Prenez-vous en charge les modèles d'e-mails transactionnels ?

A : Oui, et ils sont dynamiques ! Les modèles transactionnels de SendGrid offrent une prise en charge native de la syntaxe Handlebars. En plus des remplacements et des substitutions de base, vous pouvez utiliser des énumérations/itérer sur des listes, tirer parti des conditions et bien plus encore. Pour en savoir plus, cliquez ici.

Q : Existe-t- il un bac à sable ou un moyen de tester mes e-mails sans les envoyer ?

R : Vous pouvez activer le mode bac à sable lors de l'envoi via HTTP. Il existe également une adresse « récepteur » que vous pouvez utiliser pour les tests.

Q : Est-il possible de transférer mon adresse IP/réputation d'expéditeur vers SendGrid ?

R : Nous ne pouvons pas migrer une adresse IP ou une réputation, mais nous pouvons vous aider à préparer automatiquement une nouvelle adresse IP.

Q : SendGrid prend-il en charge TLS appliqué ?

R : Absolument. Vous pouvez exiger que les serveurs de réception prennent en charge TLS et supprimer les messages destinés aux serveurs non conformes.

Q : Puis-je autoriser mes destinataires à définir les types d'e-mails qu'ils souhaitent recevoir ?

R : Oui. Donner à vos destinataires plus de contrôle sur leurs e-mails vous permet d'envoyer des e-mails que les gens veulent, ce qui est mieux pour tout le monde. Consultez les groupes de désinscription pour plus d'informations.

Si vous souhaitez migrer vers SendGrid, vous pouvez trouver plus d'informations sur sendgrid.com/pricing.