Le WordPress d'aujourd'hui, décodé pour les développeurs

Extensions

SendGrid contre Mailjet pour l’envoi transactionnel d’une extension WordPress

Comparatif technique de SendGrid et Mailjet pour l'envoi de confirmations de commande depuis une extension : API, quotas gratuits et délivrabilité.

Par WordPress Développement • 21 avril 2020 • 4 min de lecture • Aucun commentaire
SendGrid contre Mailjet pour l'envoi transactionnel d'une extension WordPress

100 emails gratuits par jour chez SendGrid, 200 chez Mailjet à l’inscription (hors offre commerciale évolutive) : ce chiffre, à lui seul, oriente souvent le choix d’un prestataire d’envoi transactionnel pour une extension qui doit confirmer des commandes sans faire exploser les coûts d’un client aux volumes modestes. Mais la délivrabilité, la structure de l’API et la richesse du suivi comptent tout autant sur la durée.

Ce comparatif s’appuie sur l’intégration réelle des deux services dans une extension de confirmation de commande développée pour une boutique de vente directe de producteurs locaux, dont le volume d’envoi reste modeste — quelques dizaines de commandes par jour — mais dont la fiabilité de réception est critique : un email de confirmation perdu se traduit directement par un appel téléphonique mécontent.

Deux API REST proches dans l’esprit, différentes dans le détail

Les deux services exposent une API REST documentée, avec authentification par clé API et corps de requête JSON. Mailjet distingue une clé publique et une clé privée, combinées en authentification basique HTTP. SendGrid, de son côté, utilise un unique jeton d’API porté en en-tête Authorization: Bearer, ce qui simplifie légèrement la configuration côté extension.

La structure du corps de requête diffère aussi sensiblement : SendGrid organise son payload autour d’un tableau de « personnalisations » permettant d’envoyer à plusieurs destinataires avec des variables propres à chacun en un seul appel, quand Mailjet structure ses messages de façon plus explicite, un objet par email à envoyer.

Comparer les deux intégrations côté code

L'essentiel à retenir : Les deux API REST se ressemblent mais diffèrent sur l'authentification ; Le quota gratuit de Mailjet est plus généreux pour un petit volume ; SendGrid propose un suivi d'événements plus détaillé nativement
CritèreSendGridMailjet
AuthentificationBearer token uniqueClé publique + clé privée (Basic Auth)
Quota gratuit100 emails / jour200 emails / jour (offre découverte)
Suivi des événementsWebhooks détaillés (ouverture, clic, bounce)Webhooks disponibles, moins granulaires par défaut
Origine du serviceÉtats-UnisFrance (hébergement européen natif)
DocumentationTrès complète, exemples multi-langagesComplète, orientée cas d’usage e-commerce

Un appel type avec SendGrid

wp_remote_post( 'https://api.sendgrid.com/v3/mail/send', array(
    'headers' => array(
        'Authorization' => 'Bearer ' . SENDGRID_API_KEY,
        'Content-Type'  => 'application/json',
    ),
    'body' => wp_json_encode( array(
        'personalizations' => array( array(
            'to' => array( array( 'email' => $email_client ) ),
        ) ),
        'from'    => array( 'email' => 'commandes@producteurs-locaux.fr' ),
        'subject' => 'Confirmation de votre commande',
        'content' => array( array(
            'type'  => 'text/plain',
            'value' => "Votre commande n°{$numero} est confirmée.",
        ) ),
    ) ),
) );

Le même besoin avec Mailjet

wp_remote_post( 'https://api.mailjet.com/v3.1/send', array(
    'headers' => array(
        'Authorization' => 'Basic ' . base64_encode(
            MAILJET_PUBLIC_KEY . ':' . MAILJET_PRIVATE_KEY
        ),
        'Content-Type' => 'application/json',
    ),
    'body' => wp_json_encode( array(
        'Messages' => array( array(
            'From' => array( 'Email' => 'commandes@producteurs-locaux.fr' ),
            'To'   => array( array( 'Email' => $email_client ) ),
            'Subject'  => 'Confirmation de votre commande',
            'TextPart' => "Votre commande n°{$numero} est confirmée.",
        ) ),
    ) ),
) );

La différence de volume de code est minime. Ce qui pèse davantage dans le choix, une fois passé ce stade, ce sont les à-côtés : qualité de la documentation, réactivité du support en cas d’incident de délivrabilité, et localisation des serveurs pour les clients sensibles au RGPD.

Délivrabilité observée sur ce projet

Sur trois semaines de test croisé, en envoyant chaque confirmation de commande simultanément via les deux services vers une liste de boîtes de test (Gmail, Outlook, Orange, Free), aucune différence significative de délivrabilité n’a été constatée : les deux prestataires atteignent la boîte de réception principale dans la quasi-totalité des cas, à condition que les enregistrements SPF et DKIM du domaine expéditeur soient correctement configurés — un prérequis commun aux deux, souvent négligé.

Le choix entre SendGrid et Mailjet se joue rarement sur la délivrabilité brute : il se joue sur le quota gratuit, la localisation des données et la qualité du support, trois critères propres au contexte du client.

Notre verdict

Pour ce projet précis — petit volume, client sensible à l’hébergement des données en Europe — Mailjet l’a emporté, porté par son origine française et son quota gratuit plus confortable. Pour une extension destinée à un public international avec des besoins de suivi d’événements fins (taux d’ouverture, de clic, bounces classés par catégorie), SendGrid reste un choix tout aussi solide, voire préférable. Aucun des deux services n’est un mauvais choix technique : le bon choix dépend surtout du profil du client et de la géographie de son audience.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Partager :

À propos de l'auteur

WordPress Développement

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi