Pour améliorer la sécurité des e-mails et garantir une distribution fiable et à volume élevé, migrez de l'ancien service 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 le processus de migration des services de messagerie sortante du service Mail App Engine 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 d'étapes pour la migration de la messagerie entrante qui utilise une alternative tierce.
La norme SMTP offre les avantages suivants par rapport à l'ancien service 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 rejets 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.
Augmentation des limites d'envoi quotidiennes par rapport à l'ancien service Mail avec accès à des fonctionnalités avancées telles que 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 auprès de votre domaine ou 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 le fonctionnement de votre messagerie.
Configurer le service de messagerie basé sur SMTP
Créez un compte auprès d'un fournisseur de messagerie tiers standard qui utilise 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ée pour l'envoi de messages. Par exemple,
smtp.sendgrid.netouexample.mailjet.com.Port : numéro de port de 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 fait office 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 votre identité d'expéditeur
Pour éviter le spam, tous les services de messagerie vous demandent de vérifier que vous êtes le propriétaire de l'adresse e-mail ou du domaine à partir duquel 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 l'hébergeur de votre domaine.
Suivez les instructions de votre fournisseur pour valider votre identité d'expéditeur avant de procéder à la configuration de l'application.
Pour ajouter des enregistrements DNS à l'hébergeur de votre 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 comme indiqué par votre fournisseur de services de messagerie. Pour chaque enregistrement, procédez comme suit :
- Dans le champ Name (Nom) ou Host (Hôte), saisissez les détails de l'hôte.
- Dans le champ Points (Points) ou Value (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 :
Ajoutez la version suivante du SDK Python à votre fichier
requirements.txt:appengine-python-standard==2.0.0Ajoutez 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'environnement 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. Par exemple,
apiKey. - SMTP_PASSWORD : mot de passe ou clé API que vous avez obtenu auprès de votre fournisseur de messagerie tiers. Pour une sécurité renforcée, 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'aucune erreur n'est liée 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 son flux d'activité, ses journaux ou son tableau de bord de distribution. Votre e-mail de test doit apparaître dans le flux avec un état de distribution marqué comme
Processed(Traité),Delivered(Distribué) ou similaire.