Pour améliorer la sécurité des e-mails et assurer une distribution fiable et à fort volume, migrez de l'ancienne API Mail vers un service de fournisseur de messagerie tiers standard qui utilise le protocole SMTP (Simple Mail Transfer Protocol), tel que SendGrid, Mailgun ou Mailjet.
Ce guide décrit la procédure de migration des services d'envoi d'e-mails sortants de l'API Mail vers un service de messagerie basé sur SMTP. Vous pouvez appliquer ces instructions pour migrer vers n'importe quel fournisseur de messagerie tiers basé sur SMTP ou utiliser un autre environnement d'exécution compatible. Ce guide ne fournit pas de procédure pour migrer la messagerie entrante qui utilise une alternative tierce.
La norme SMTP offre les avantages suivants par rapport à l'ancienne API Mail App Engine :
Les services basés sur SMTP améliorent la distribution des e-mails en réduisant le risque qu'ils soient marqués comme spam.
Avec les services basés sur SMTP, vous pouvez accéder à des rapports d'analyse détaillés sur les ouvertures, les clics et les rebonds d'e-mails. Ces rapports fournissent des informations utiles sur la façon dont les utilisateurs interagissent avec vos e-mails.
Vous contrôlez entièrement votre réputation d'expéditeur et l'authentification des e-mails.
Des limites d'envoi quotidiennes plus élevées que celles de l'ancienne API Mail, avec accès à des fonctionnalités avancées comme les tests A/B, la segmentation et les modèles.
Présentation du processus de migration
Le processus de migration comprend les étapes suivantes :
- Configurez le service de messagerie basé sur SMTP pour obtenir vos identifiants SMTP.
- Validez votre identité d'expéditeur pour vous authentifier avec votre domaine ou votre adresse e-mail.
- Configurez vos fichiers sources avec vos identifiants SMTP et votre méthode d'envoi, puis déployez votre application.
- Testez votre application pour vérifier la fonctionnalité d'envoi d'e-mails.
Configurer le service de messagerie basé sur SMTP
Créez un compte auprès d'un fournisseur de messagerie tiers standard utilisant SMTP, tel que SendGrid, Mailgun ou Mailjet, et récupérez les informations suivantes auprès du fournisseur de votre choix :
Hôte SMTP : adresse du serveur SMTP utilisé pour envoyer des e-mails. Par exemple,
smtp.sendgrid.netouexample.mailjet.com.Port : numéro de port pour la connexion. Par exemple,
587pour le chiffrement TLS.Nom d'utilisateur : nom d'utilisateur de connexion SMTP de votre compte.
Mot de passe ou clé API : mot de passe de votre compte ou clé API, qui sert de mot de passe pour la connexion SMTP. Pour certains fournisseurs comme SendGrid, le nom d'utilisateur est une valeur fixe telle que
apikey, et la clé API est utilisée comme mot de passe.
Valider l'identité de votre expéditeur
Pour éviter les spams, tous les services de messagerie vous demandent de confirmer que vous êtes le propriétaire de l'adresse e-mail ou du domaine à partir desquels vous envoyez des e-mails. Cette étape consiste souvent à ajouter des informations DNS spécifiques, telles que des enregistrements CNAME, à la page de gestion DNS de votre hébergeur de domaine.
Suivez les instructions de votre fournisseur pour valider votre identité d'expéditeur avant de configurer l'application.
Pour ajouter des enregistrements DNS à votre hébergeur de domaine, procédez comme suit :
- Connectez-vous au service de votre fournisseur DNS.
- Accédez à la page de gestion DNS de votre domaine.
Ajoutez les enregistrements CNAME exactement tels qu'ils vous ont été fournis par votre fournisseur de services de messagerie. Pour chaque enregistrement, procédez comme suit :
- Dans le champ Nom ou Hôte, saisissez les informations sur l'hôte.
- Dans le champ Points ou Valeur, saisissez la valeur.
L'activation des modifications DNS peut prendre quelques heures. Si la validation échoue, patientez un moment, puis réessayez.
Configurer vos fichiers sources
Pour inclure la fonctionnalité SMTP, procédez comme suit :
Exécutez la commande suivante pour mettre à jour le SDK App Engine vers la dernière version :
# Ensure your virtual environment is active pip install --upgrade appengine-python-standard # Save the new version to your requirements file pip freeze > requirements.txtAjoutez le code suivant dans votre fichier
app.yamlpour passer au service SMTP :runtime: RUNTIME # a supported python version env_variables: # Enable the SMTP service. APPENGINE_USE_SMTP_MAIL_SERVICE: "true" # --- SMTP Server Configuration --- # The server address from your mail provider APPENGINE_SMTP_HOST: "SMTP_HOST" # The recommended port for TLS connections APPENGINE_SMTP_PORT: "587" # The username for your SMTP login APPENGINE_SMTP_USER: "SMTP_USER" # The API key or password APPENGINE_SMTP_PASSWORD: "SMTP_PASSWORD" # Use TLS for a secure connection APPENGINE_SMTP_USE_TLS: "true" # --- For sending emails to Admins --- # A comma-separated list of admin email addresses. # This is required if you use the send_mail_to_admins() function. APPENGINE_ADMIN_EMAIL_RECIPIENTS: "admin@example.com,another-admin@example.com"Remplacez les éléments suivants :
- RUNTIME : version d'exécution Python compatible.
- SMTP_HOST : adresse de l'hôte SMTP. Par exemple,
smtp.sendgrid.netouexample.mailjet.com. - SMTP_USER : nom d'utilisateur de connexion SMTP de votre compte. Exemple :
apiKey - SMTP_PASSWORD : mot de passe ou clé API que vous avez obtenus auprès de votre fournisseur de messagerie tiers. Pour renforcer la sécurité, nous vous recommandons d'utiliser Secret Manager pour stocker votre clé API au lieu de la placer dans le fichier
app.yaml. - Si vous n'utilisez pas la fonction
send_mail_to_admins(), omettez le paramètreAPPENGINE_ADMIN_EMAIL_RECIPIENTS.
Exécutez la commande suivante pour déployer votre application :
gcloud app deploy
Tester votre application
La migration est réussie si vous êtes en mesure de déployer votre application sans erreur. Pour vérifier que votre service de messagerie fonctionne, procédez comme suit :
- Déclenchez la partie de votre application qui envoie un e-mail.
- Consultez l'explorateur de journaux pour vous assurer qu'il n'y a pas d'erreurs liées aux appels d'API ou à la tentative de connexion SMTP.
- Connectez-vous au compte de votre fournisseur de messagerie tiers (par exemple, Mailgun, Mailjet, SendGrid) et consultez leur flux d'activité, leurs journaux ou leur tableau de bord des envois. Votre e-mail de test devrait apparaître dans le flux avec un état de distribution
Processed,Deliveredou similaire.