Envoyer des e-mails avec Mailjet

Mailjet est un service de messagerie tiers à l'échelle mondiale, dont l'offre gratuite permet aux utilisateurs d'App Engine d'envoyer 25 000 e-mails par mois. Mailjet propose également :

  • la conformité aux règles européennes en matière de confidentialité des données ;
  • des fonctionnalités de messagerie et de délivrabilité, telles que les paramètres de priorité personnalisables et la gestion automatisée de la fréquence d'envoi ;
  • une bibliothèque complète de ressources d'API dans les langages Go, PHP, Node.js, Java, Python et Ruby, permettant de gérer les sous-comptes, l'authentification, les contacts, les campagnes, les charges utiles personnalisées, les statistiques, les événements en temps réel et les analyses via l'API Event ;
  • une assistance qui suit les fuseaux horaires (24h/24 et 7j/7), disponible dans plus de quatre langues ;
  • la possibilité d'envoyer des e-mails à partir d'autres domaines que gmail.com.

Avant de commencer

Avant d'envoyer un e-mail avec Mailjet :

  1. Créez un compte Mailjet. En tant que développeur App Engine, vous bénéficiez de 25 000 e-mails gratuits par mois.

  2. Dans Mailjet, ajoutez et vérifiez l'adresse e-mail de l'expéditeur.

  3. Notez la clé API et le code secret affichés dans les paramètres SMTP Mailjet.

  4. Sélectionnez ou créez un projet GCP dans la console Google Cloud Platform, puis assurez-vous qu'une application App Engine existe et que la facturation est activée :

    Accéder à App Engine

    Le tableau de bord s'affiche si une application App Engine existe déjà dans votre projet et si la facturation est activée. Si ce n'est pas le cas, suivez les instructions permettant de choisir une région et d'activer la facturation.

  5. Ajoutez la clé API et le code secret Mailjet en tant que variables d'environnement au fichier app.yaml.

    1. Installez le package npm Mailjet :

      npm install node-mailjet
      
    2. Configurez les paramètres Mailjet, tels que la clé API et le code secret, dans votre fichier app.flexible.yaml :

      runtime: nodejs
      env: flex
      
      # The following env variables may contain sensitive information that grants
      # anyone access to your Mailjet account. Do not add this file to your source
      # control.
      env_variables:
        MJ_APIKEY_PUBLIC: <your-mj-apikey-public>
        MJ_APIKEY_PRIVATE: <your-mj-apikey-private>

    3. Importez la bibliothèque dans votre code d'application.

      const Mailjet = require('node-mailjet').connect(
        process.env.MJ_APIKEY_PUBLIC,
        process.env.MJ_APIKEY_PRIVATE
      );

    Envoyer des e-mails

    Pour envoyer un e-mail dans le code de votre application, procédez comme suit :

    1. Créez un client Mailjet.

    2. Spécifiez les détails et le contenu du message, y compris l'adresse e-mail de l'expéditeur et son nom, l'objet, le corps du message et les destinataires.

    3. Récupérez la réponse du serveur pour vérifier l'état de l'e-mail.

    Exemple :

    app.post('/hello', async (req, res, next) => {
      const options = {
        Messages: [
          {
            From: {
              Email: 'no-reply@appengine-mailjet-demo.com',
              Name: 'Mailjet Pilot',
            },
            To: [
              {
                Email: req.body.email,
              },
            ],
            Subject: 'Your email flight plan!',
            TextPart: 'Mailjet on Google App Engine with Node.js',
            HTMLPart: '<h3>Mailjet on Google App Engine with Node.js</h3>',
          },
        ],
      };
    
      try {
        const [response, body] = await Mailjet.post('send', {
          version: 'v3.1',
        }).request(options);
        console.log(response.statusCode, body);
        // Render the index route on success
        return res.render('index', {
          sent: true,
        });
      } catch (err) {
        return next(err);
      }
    });

    Statistiques

    La charge utile de la réponse d'un appel de l'API Send de Mailjet fournit une commande MessageID. Cette commande MessageID vous permet d'accéder aux informations et aux statistiques relatives au message.

    L'opération GET utilisée sur /message permet d'obtenir des informations de base concernant un message, telles que l'expéditeur, le destinataire et la taille du message. Pour en savoir plus sur les statistiques de message et accéder à des exemples de réponses de l'API, consultez le guide de l'API Mailjet.

    API Event

    L'API Event de Mailjet propose des notifications en temps réel via des requêtes HTTP (Webhooks) concernant tous les événements liés aux messages que vous avez envoyés, tels que la date et l'heure d'envoi ou d'ouverture des messages. Ces notifications d'événements fonctionnent pour tous les types de messages, des campagnes transactionnelles aux campagnes marketing.

    L'API Event vous permet de réaliser efficacement des actions spécifiques, telles que la journalisation des messages marketing envoyés à vos clients ou la mise à jour des contacts désabonnés dans votre système de gestion de la relation client (CRM). Il n'est pas nécessaire d'interroger l'API Mailjet plusieurs fois par jour, car les données sont transférées quasiment en temps réel, à mesure que les événements se produisent.

    Vous pouvez également regrouper les événements, ce qui est utile lors de l'envoi de volumes plus importants. Pour en savoir plus, consultez la documentation Mailjet.

    API Parse pour les e-mails entrants

    Vous pouvez également recevoir et analyser des e-mails avec Mailjet, et faire en sorte que le contenu soit transmis à un Webhook. Mailjet organise toutes les informations pour que vous puissiez les enregistrer dans votre CRM ou base de données.

    À l'instar de l'API Event, l'API Parse envoie des notifications quasiment en temps réel à un Webhook défini qui renvoie des données à votre application lorsqu'un nouveau message correspond à une route prédéfinie. Les e-mails sont envoyés à votre application sous la forme d'un paquet JSON contenant toutes les informations utiles, telles que l'expéditeur, le destinataire, l'objet, le corps du message et les en-têtes.

    Pour en savoir plus, y compris sur les champs supplémentaires envoyés avec chaque e-mail, et obtenir des instructions pour la configuration et l'utilisation de DNS, consultez la documentation relative à l'API Parse de Mailjet.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Environnement flexible App Engine pour les documents Node.js