Une newsletter créée dans Single Sends et un e-mail de réinitialisation de mot de passe envoyé via /v3/mail/send peuvent partir du même compte SendGrid tout en arrivant sous des formes très différentes, ce qui compte pour un test de spam. Marketing Campaigns essaie toujours d’ajouter des en-têtes de désabonnement, tandis que l’API ne les ajoute que si vous le lui demandez. Décidez donc lequel des deux vous testez avant tout envoi.
La réception est identique dans les deux cas. Email Spam Tester vous fournit une adresse temporaire, sans création de compte. Seul le premier message reçu dans l’heure est pris en compte. Il obtient un rapport couvrant l’authentification, les verdicts de SpamAssassin et Rspamd, le contenu, les règles de Gmail et Yahoo pour les expéditeurs en nombre, ainsi que 21 listes de blocage interrogées avec votre IP d’envoi.
Single Sends : le bouton de test et son préfixe
Le test intégré se trouve dans Marketing > Single Sends. Ouvrez le Single Send, recherchez Test Your Email, saisissez l’adresse de test et cliquez sur Send Test Message. SendGrid exige un expéditeur et un objet avant de vous permettre d’effectuer le test. Si l’objet contient du Handlebars, vous devez aussi renseigner Test Data. Lors de l’envoi, SendGrid ajoute Test - devant l’objet.
Pour l’envoi réel, envoyez le Single Send à une liste. Les Single Sends sont envoyés à des listes ou à des segments. Créez donc une liste dont l’adresse de test est le seul contact, puis sélectionnez-la sous Recipients. Les en-têtes, le lien de désabonnement et les liens suivis sont alors ceux qu’un abonné reçoit. Si vous avez également effectué le test de placement, vous pouvez ajouter à cette liste les boîtes de réception de ses fournisseurs.
L'API et SMTP : une seule commande curl
Extrait et simplifié de l'exemple de démarrage de SendGrid, avec l'adresse de test comme destinataire :
curl --request POST \
--url https://api.sendgrid.com/v3/mail/send \
--header 'Authorization: Bearer <<YOUR_API_KEY>>' \
--header 'Content-Type: application/json' \
--data '{"personalizations":[{"to":[{"email":"test-xxxxxxxxxxxxxxxxxxxx@t.email-spam-tester.com"}],"subject":"Hello, World!"}],"content":[{"type":"text/plain","value":"Heya!"}],"from":{"email":"you@yourdomain.com","name":"Your Name"}}'
Lorsque le test de placement est activé, les adresses de test chez vos fournisseurs sont ajoutées au même tableau to et le marqueur est ajouté à subject. La même requête vous indique donc aussi dans quel dossier Gmail, Outlook, Yahoo et les autres fournisseurs placent l'e-mail.
Insérez votre propre adresse de test et une adresse d'expéditeur vérifiée par SendGrid, via la vérification d'un expéditeur unique ou l'authentification du domaine. Mieux encore, envoyez le message réellement envoyé par votre application, avec son véritable HTML, car les contrôles de contenu évalueront le corps du message.
Si votre application utilise SMTP, seul le mode de transport change. L'hôte est smtp.sendgrid.net, le nom d'utilisateur est littéralement la chaîne apikey (et non votre clé), et SSL utilise le port 465.
Il existe aussi un endpoint d'envoi de test, POST /v3/marketing/test/send_email. Il accepte jusqu'à 10 adresses, mais fonctionne uniquement avec les Dynamic Transactional Templates. Pour la plupart des e-mails envoyés par API, l'appel Mail Send standard ci-dessus constitue donc le test le plus représentatif.
Les en-têtes de désabonnement dépendent du chemin choisi
Marketing Campaigns tente toujours d’ajouter les en-têtes List-Unsubscribe. Les e-mails envoyés via l’API ou SMTP ne les reçoivent que lorsque Subscription Tracking est activé dans Settings > Tracking. Dans ce cas, SendGrid insère List-Unsubscribe avec un lien HTTPS et List-Unsubscribe-Post: List-Unsubscribe=One-Click.
Sans Subscription Tracking, vous devez ajouter vous-même les en-têtes à la requête :
"headers": {
"List-Unsubscribe-Post": "List-Unsubscribe=One-Click",
"List-Unsubscribe": "<mailto:unsubscribe@yourdomain.com>, <https://yourdomain.com/unsubscribe>"
}
SendGrid demande à la fois la partie mailto et la partie https, et déconseille de désabonner quiconque lors d’une simple requête GET vers ce lien. Soyez prudent lorsque vous copiez les exemples de l’article d’assistance de SendGrid consacré à ces en-têtes. Son deuxième exemple attribue des URL à List-Unsubscribe-Post, ce qui est incorrect. La valeur est toujours List-Unsubscribe=One-Click. Vous trouverez le reste sur notre page de correction de List-Unsubscribe.
Si le message est destiné à réinitialiser un mot de passe ou contient un reçu et ne comporte aucun en-tête de liste, le rapport indique que le groupe de règles pour les expéditeurs en masse a été ignoré au lieu de le signaler comme ayant échoué. Une newsletter envoyée via l’API ne bénéficie pas de cette exception.
Lire les résultats d'authentification
Sur un compte sans authentification de domaine, les destinataires voient « via sendgrid.net » après votre adresse From, et la documentation de SendGrid indique que l'authentification de domaine le supprime. Le rapport va plus loin que cette mention. Examinez les lignes d'alignement DKIM et SPF. Si la signature ou le Return-Path appartient à un domaine SendGrid plutôt qu'au vôtre, DMARC ne peut pas réussir pour votre adresse From, et le plan doit vous orienter vers l'authentification de domaine. Envoyer depuis une adresse gmail.com ou yahoo.com est encore pire. La page DMARC de SendGrid indique que SPF et DKIM échouent tous les deux pour ces adresses, et la console elle-même avertit que ces messages peuvent échouer à une vérification DMARC.
L'authentification de domaine se trouve dans Settings > Sender Authentication. Lorsque la sécurité automatisée est activée, ce qui est le réglage par défaut, SendGrid vous fournit quatre enregistrements :
- un CNAME à
em[0000], qui couvre SPF et devient votre Return-Path ; - des CNAME à
s1._domainkeyets2._domainkeypour DKIM ; - un TXT à
_dmarcavecv=DMARC1; p=none;.
Valeurs d’exemple. Copiez les valeurs réelles depuis votre compte.
| Nom | Type | Valeur | Utilité | Copier |
|---|---|---|---|---|
| Sécurité automatisée activée (réglage par défaut) | ||||
| em[0000] | CNAME | La cible fournie dans votre compte | SPF et le Return-Path. | |
| s1. | CNAME | La cible fournie dans votre compte | DKIM. | |
| s2. | CNAME | La cible fournie dans votre compte | DKIM, le deuxième sélecteur. | |
| _dmarc | TXT | v= | DMARC. | |
| Sécurité automatisée désactivée | ||||
| em[0000] | MX | L'hôte fourni dans votre compte | Le Return-Path. | |
| em[0000] | TXT | v= | SPF, que vous gérez vous-même. | |
| m1. | TXT | La clé fournie dans votre compte | DKIM. | |
Lorsque la sécurité automatisée est désactivée, vous obtenez un MX et un TXT SPF (v=spf1 include:sendgrid.net ~all) à em[0000], ainsi qu'un TXT DKIM à m1._domainkey, et vous gérez vous-même l'enregistrement SPF. Si votre fournisseur DNS refuse les noms CNAME contenant _, c'est la seule option. Et si un autre service utilise déjà le sélecteur s, SendGrid vous permet d'en choisir un personnalisé. Vérifiez le résultat avec le vérificateur DKIM (sélecteur s1) et le vérificateur SPF, qui compte également les recherches DNS si votre enregistrement SPF devient trop chargé.
Liens, IP et reste du rapport
Le suivi des clics réécrit chaque lien. Si le texte de votre lien est lui-même une URL, l’adresse visible et la cible réelle ne correspondent plus, et le contrôle des incohérences de liens du rapport le signalera. La page de SendGrid sur la délivrabilité mentionne le même problème. Utilisez des mots comme texte du lien ou configurez la personnalisation des liens afin que les liens suivis passent par votre propre domaine, qui doit correspondre au domaine indiqué dans le champ From.
Les offres Trial et Essentials utilisent des pools d’IP partagées. SendGrid précise qu’elles peuvent changer sans préavis si votre réputation évolue. La présence de l’une de ces IP sur une liste de blocage concerne donc tous les utilisateurs de ce pool. Le vérificateur de listes de blocage vous permet de vérifier à nouveau l’IP ultérieurement. Le DNS inverse est configurable uniquement avec une IP dédiée, disponible avec Pro Email API et Advanced Marketing Campaigns.
Pour en savoir plus dans la documentation de SendGrid
Test des e-mailswww.twilio.com ↗Authentification du domainewww.twilio.com ↗List-Unsubscribewww.twilio.com ↗Personnalisation des lienswww.twilio.com ↗Questions
Pourquoi mes e-mails affichent-ils "via sendgrid.net" ?
SendGrid n'a pas encore authentifié votre domaine d'envoi. Configurez l'authentification du domaine sous Settings > Sender Authentication. Selon la documentation de SendGrid, cette mention disparaîtra.
Le rapport indique que List-Unsubscribe est manquant, mais j'utilise SendGrid. Pourquoi ?
Vous envoyez probablement vos e-mails via l'API ou SMTP avec Subscription Tracking désactivé. Activez cette option dans Settings > Tracking ou ajoutez vous-même les deux en-têtes dans l'objet headers.
Puis-je utiliser "Send Test Message" de SendGrid pour ce test ?
Oui, le message arrive à l'adresse de test. N'oubliez pas que l'objet reçu commence par Test - . Pour obtenir exactement les mêmes en-têtes que ceux reçus par les abonnés, il est préférable d'utiliser un Single Send vers une liste contenant un seul contact.
Puis-je utiliser le point de terminaison API d'envoi de test au lieu de Mail Send ?
Uniquement pour les Dynamic Transactional Templates, car /v3/marketing/test/send_email n'accepte que cela. Il accepte jusqu'à 10 adresses. Tous les autres envois passent par /v3/mail/send.
Quel sélecteur dois-je saisir dans l'outil de vérification DKIM ?
Lorsque la sécurité automatisée est activée, vérifiez s1 et s2. Lorsqu'elle est désactivée, le sélecteur est m1. Si vous avez choisi un sélecteur personnalisé pendant la configuration, utilisez-le à la place.