Service Email

Envoyer des emails depuis AEM as a Cloud Service en configurant AEM DefaultMailService pour utiliser les ports de sortie réseau avancés.

Comme (la plupart) des services de messagerie ne s’exécutent 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 qui AEM as a Cloud Service est mappée sur la variable interne proxy.tunnel hôte.
    • Ne tentez PAS de définir la variable AEM_PROXY_HOST via Cloud Manager.
  • smtp.port est défini sur la valeur portForward.portOrig port qui mappe sur l’hôte et le port du service de messagerie de destination. Cet exemple utilise le mapping : AEM_PROXY_HOST:30002smtp.sendgrid.com:465.
    • Le smpt.port est défini sur la valeur portForward.portOrig et NON le port réel du serveur SMTP. Mappage entre les smtp.port et le portForward.portOrig Le port est établi par Cloud Manager portForwards (comme illustré ci-dessous).

Puisque les secrets ne doivent pas être stockés dans le code, le nom d’utilisateur et le mot de passe du service de messagerie sont mieux fournis à l’aide de variables de configuration OSGi secrètes, défini à l’aide de l’interface de ligne de commande AIO ou de l’API Cloud Manager.

En règle générale, sortie de port flexible est utilisé pour répondre à l’intégration à un service de messagerie, sauf s’il est nécessaire de allowlist l’adresse IP de l’Adobe, auquel cas adresse ip de sortie dédiée peut être utilisé.

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ées suivantes.

Assurez-vous que la variable approprié une configuration réseau avancée a été configurée avant de suivre ce tutoriel.

Pas de mise en réseau avancée Sortie de port flexible Adresse IP sortante dédiée Réseau privé virtuel

Configuration OSGi

Cet exemple de configuration OSGi configure AEM Mail OSGi Service pour utiliser un service de messagerie externe, au moyen de Cloud Manager suivant : portForwards de la règle enableEnvironmentAdvancedNetworkingConfiguration opération.

...
"portForwards": [{
    "name": "smtp.mymail.com",
    "portDest": 465,
    "portOrig": 30002
}]
...
  • ui.config/src/jcr_root/apps/wknd-examples/osgiconfig/config/com.day.cq.mailer.DefaultMailService.cfg.json

Configuration d’AEM DefaultMailService selon les besoins de votre fournisseur de messagerie (par exemple, smtp.ssl, etc.).

{
    "smtp.host": "$[env:AEM_PROXY_HOST;default=proxy.tunnel]",
    "smtp.port": "30002",
    "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
}

Le EMAIL_USERNAME et EMAIL_PASSWORD La variable OSGi et le secret peuvent être définis par environnement, à l’aide de :

  • Configuration de l’environnement Cloud Manager

  • ou en utilisant la variable aio CLI command

    $ aio cloudmanager:set-environment-variables --programId=<PROGRAM_ID> <ENVIRONMENT_ID> --secret EMAIL_USERNAME "myApiKey" --secret EMAIL_PASSWORD "password123"
    

Sur cette page