Pour améliorer la sécurité des e-mails et garantir une distribution fiable et à volume élevé, migrez de l'ancienne API Mail vers un service de fournisseur de messagerie tiers standard qui utilise le protocole Simple Mail Transfer (SMTP), tel que SendGrid, Mailgun, ou Mailjet.
Ce guide décrit le processus de migration des services de messagerie sortante 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 une autre version 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'ancienne API Mail d'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'ancienne API 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 la fonctionnalité de 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ôte 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ôte 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 informations 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, attendez un peu, puis réessayez.
Configurer vos fichiers sources
Pour inclure la fonctionnalité SMTP, procédez comme suit :
Exécutez la commande suivante pour installer Maven :
sudo apt install mavenAjoutez le code suivant dans votre fichier
pom.xmlpour passer au service SMTP :Ajoutez la version de la dépendance
appengine-api-1.0-sdk:<dependency> <groupId>com.google.appengine</groupId> <artifactId>appengine-api-1.0-sdk</artifactId> <version>5.0.0</version> </dependency>Mettez à jour l'ID de votre projet :
<configuration> <deploy.projectId>PROJECT-ID</deploy.projectId> <deploy.version>1</deploy.version> </configuration>Remplacez PROJECT-ID par l'ID de votre Google Cloud projet.
Ajoutez les variables d'environnement suivantes dans votre fichier
appengine-web.xmlpour inclure vos configurations d'expéditeur SMTP :... <runtime>RUNTIME</runtime> <service>default</service> <threadsafe>true</threadsafe> <app-engine-apis>true</app-engine-apis> <env-variables> <!-- This is the master switch to enable the SMTP service.--> <env-var name="APPENGINE_USE_SMTP_MAIL_SERVICE" value="true" /> <!-- SMTP Server Configuration --> <!-- The server address from your mail provider.--> <env-var name="APPENGINE_SMTP_HOST" value="SMTP_HOST" /> <!-- The recommended port for TLS connections. --> <env-var name="APPENGINE_SMTP_PORT" value="587" /> <!-- The username for your SMTP login. --> <env-var name="APPENGINE_SMTP_USER" value="SMTP_USER" /> <!-- The API key or password --> <env-var name="APPENGINE_SMTP_PASSWORD" value="SMTP_PASSWORD" /> <!-- Use TLS for a secure connection. --> <env-var name="APPENGINE_SMTP_USE_TLS" value="true" /> </env-variables> ... </appengine-web-app>Remplacez les éléments suivants :
- RUNTIME : une version d'exécution Java 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
appengine-web.xml.
Exécutez la commande suivante pour déployer votre application :
mvn package appengine: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.