Service de messagerie
Envoyez des e-mails depuis AEM as a Cloud Service en configurant le DefaultMailService
d’AEM pour utiliser les ports de sortie réseau avancés.
Comme les services de messagerie ne s’exécutent en général pas sur HTTP/HTTPS, les connexions aux services de messagerie d’AEM as a Cloud Service doivent être traitées par proxy.
-
smtp.host
est défini sur la variable d’environnement OSGi$[env:AEM_PROXY_HOST;default=proxy.tunnel]
, il est donc acheminé par la sortie.$[env:AEM_PROXY_HOST]
est une variable réservée qu’AEM as a Cloud Service mappe sur l’hôte interneproxy.tunnel
.- Ne tentez PAS de définir
AEM_PROXY_HOST
via Cloud Manager.
-
smtp.port
est défini sur le portportForward.portOrig
qui mappe sur l’hôte et le port du service de messagerie de destination. Cet exemple utilise le mappage :AEM_PROXY_HOST:30465
→smtp.sendgrid.com:465
.- Le
smpt.port
est défini sur le portportForward.portOrig
et NON le port réel du serveur SMTP. Le mappage entre lesmtp.port
et le portportForward.portOrig
est établi par la règleportForwards
Cloud Manager (comme illustré ci-dessous).
- Le
Puisque les secrets ne doivent pas être stockés dans le code, le nom d’utilisateur ou d’utilisatrice et le mot de passe du service de messagerie sont mieux fournis à l’aide des variables de configuration OSGi secrètes, définies avec l’interface de ligne de commande AIO ou l’API Cloud Manager.
En règle générale, la sortie de port flexible est utilisée pour réaliser l’intégration à un service de messagerie, sauf s’il est nécessaire de placer l’adresse IP Adobe sur une allowlist
, auquel cas l’adresse IP de sortie dédiée peut être utilisée.
Consultez également la documentation AEM sur l’envoi d’un e-mail.
Prise en charge de la mise en réseau avancée
L’exemple de code suivant est pris en charge par les options de mise en réseau avancée suivantes.
Assurez-vous que la configuration de mise en réseau avancée appropriée a été définie avant de suivre ce tutoriel.
Configuration OSGi
Cet exemple de configuration OSGi configure le service OSGi de messagerie d’AEM pour utiliser un service de messagerie externe, au moyen de la règle portForwards
Cloud Manager suivante de l’opération enableEnvironmentAdvancedNetworkingConfiguration.
...
"portForwards": [{
"name": "smtp.mymail.com",
"portDest": 465,
"portOrig": 30465
}]
...
ui.config/src/jcr_root/apps/wknd-examples/osgiconfig/config/com.day.cq.mailer.DefaultMailService.cfg.json
Configurez le DefaultMailService d’AEM selon les besoins de votre fournisseur de messagerie (par exemple, smtp.ssl
, etc.).
{
"smtp.host": "$[env:AEM_PROXY_HOST;default=proxy.tunnel]",
"smtp.port": "30465",
"smtp.user": "$[env:EMAIL_USERNAME;default=myApiKey]",
"smtp.password": "$[secret:EMAIL_PASSWORD]",
"from.address": "noreply@wknd.site",
"smtp.ssl": true,
"smtp.starttls": false,
"smtp.requiretls": false,
"debug.email": false,
"oauth.flow": false
}
La variable OSGi et le secret EMAIL_USERNAME
et EMAIL_PASSWORD
peuvent être définis selon l’environnement de l’une des manières suivantes :
-
ou en utilisant la commande
aio CLI
.code language-shell $ aio cloudmanager:set-environment-variables --programId=<PROGRAM_ID> <ENVIRONMENT_ID> --secret EMAIL_USERNAME "myApiKey" --secret EMAIL_PASSWORD "password123"