Envoyer des e-mails avec Mailjet

Mailjet est un service de messagerie mondial tiers qui offre aux utilisateurs d'App Engine un niveau gratuit avec 25 000 e-mails par mois. Mailjet propose également :

  • une API, une interface utilisateur et un relais SMTP permettant d'envoyer des e-mails transactionnels et marketing ;
  • la conformité aux règles européennes en matière de confidentialité des données ;
  • des fonctionnalités de messagerie et de distribution, telles que les paramètres de priorité personnalisables et la gestion automatisée de la fréquence d'envoi ;
  • une bibliothèque de ressources d'API dans les langages Go, PHP, Node.js, Java, Python et Ruby, afin 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 ;
  • un framework MJML intégré permettant de créer des modèles d'e-mail HTML réactifs ;
  • 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 Google 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 dans les paramètres SMTP Mailjet.
  4. Sélectionnez ou créez un projet Google Cloud Platform.

    Accéder à la page "Gérer les ressources"

Configurer

Envoyez des e-mails à partir de l'application à l'aide du wrapper Python pour l'API Mailjet.

  1. Installez la bibliothèque Mailjet. Par exemple, vous pouvez ajouter au fichier requirements.txt :

    Flask==0.12.2
    requests==2.18.4
    requests-toolbelt==0.8.0
    mailjet-rest==1.3.0
    

    Pour plus d'informations sur l'installation des bibliothèques prises en charge, consultez la section Utiliser des bibliothèques intégrées.

  2. Configurez les paramètres Mailjet, tels que la clé API, le code secret et l'adresse e-mail de l'expéditeur, dans le fichier app.yaml :

    env_variables:
        MAILJET_API_KEY: your-mailjet-api-key
        MAILJET_API_SECRET: your-mailjet-api-secret
        MAILJET_SENDER: your-mailjet-sender-address

  3. Dans le code de l'application, importez (import) la bibliothèque Mailjet Python et ajoutez les clés :

    import mailjet_rest
    import requests_toolbelt.adapters.appengine
    
    # Use the App Engine requests adapter to allow the requests library to be
    # used on App Engine.
    requests_toolbelt.adapters.appengine.monkeypatch()
    
    MAILJET_API_KEY = os.environ['MAILJET_API_KEY']
    MAILJET_API_SECRET = os.environ['MAILJET_API_SECRET']
    MAILJET_SENDER = os.environ['MAILJET_SENDER']

Envoyer des e-mails

Pour envoyer un message dans le code de l'application :

  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 du message.

Exemple :

def send_message(to):
    client = mailjet_rest.Client(
        auth=(MAILJET_API_KEY, MAILJET_API_SECRET), version='v3.1')

    data = {
        'Messages': [{
            "From": {
                "Email": MAILJET_SENDER,
                "Name": 'App Engine Standard Mailjet Sample'
            },
            "To": [{
                "Email": to
            }],
            "Subject": 'Example email.',
            "TextPart": 'This is an example email.',
            "HTMLPart": 'This is an <i>example</i> email.'
        }]
    }

    result = client.send.create(data=data)

    return result.json()

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 de l'API Mailjet sur /message renvoie des informations de base sur un message, telles que l'expéditeur, le destinataire et la taille du message. Elle informe également sur l'état actuel du message, en indiquant par exemple s'il a été envoyé avec succès. 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 une notification en temps réel via des requêtes HTTP (webhooks) relative à 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. Cette notification d'événement fonctionne pour tout type de messages, allant des campagnes transactionnelles aux campagnes marketing.

Utilisez l'API Event pour réaliser efficacement des actions spécifiques, telles que la consignation des messages marketing envoyés à vos clients ou la mise à jour des contacts non abonnés dans votre système de gestion de la relation client (CRM). Au lieu d'interroger l'API Mailjet plusieurs fois par jour, les données sont transférées quasiment en temps réel à mesure que des événements se produisent.

Vous pouvez également regrouper des événements, ce qui est utile lors de l'envoi de volumes plus importants. Pour en savoir plus, consultez la documentation relative à 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 le CRM ou la base de données.

À l'instar de l'API Event, l'API Parse notifie quasiment en temps réel un webhook défini qui renvoie des données à l'application dès qu'un nouveau message correspond à une route prédéfinie. Les e-mails sont envoyés à l'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 les instructions relatives à la configuration et à l'utilisation de DNS, consultez la documentation relative à l'API Parse de Mailjet.

Envoyer des e-mails à partir de Google Compute Engine

Si le projet utilise Compute Engine pour effectuer des tâches de backend nécessitant l'envoi d'e-mails, vous pouvez aussi utiliser Mailjet à partir de Compute Engine.

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

Envoyer des commentaires concernant…

Environnement standard App Engine pour Python