La messagerie SMTP AEM as a Cloud Service ne fonctionne pas ou ne peut pas être configurée

AEM as a Cloud Service n’inclut pas de serveur SMTP et ne peut pas se connecter aux hôtes SMTP internes ou AMS. Par conséquent, l’envoi d’e-mails échoue lorsque les clients s’attendent à un serveur intégré ou tentent d’utiliser un relais d’entreprise ou hérité. Tous les e-mails sortants doivent passer par un fournisseur SMTP authentifié et public fourni par le client, routé via la mise en réseau avancée. Les environnements Sandbox ne prennent pas en charge la mise en réseau avancée, de sorte que SMTP ne peut pas y fonctionner. La sélection d’un fournisseur SMTP externe, la configuration du transfert de port de mise en réseau avancée et l’ajout de la configuration OSGi du service de messagerie permettent la diffusion d’e-mails à partir des environnements d’évaluation et de production.

Description description

Environnements :

  • Adobe Experience Manager as a Cloud Service (AEMaaCS)
  • AEM Assets Essentials
  • Cloud Manager (mise en réseau avancée)
  • Environnements d’évaluation et de production (le sandbox et le RDE ne prennent pas en charge la mise en réseau avancée)

Problème/Symptômes :

  • L’e-mail fonctionne sur localhost, mais échoue sur AEM Cloud, avec des erreurs 500 lorsque le code est déployé sur l’instance de création ou de publication.
  • La configuration SMTP ne peut pas être effectuée, car le client attendait d’Adobe qu’il fournisse un serveur SMTP.
  • Impossible d’envoyer l’e-mail sur les environnements Sandbox, car la mise en réseau avancée n’y est pas prise en charge.
  • Les tentatives d’utilisation d’un serveur SMTP interne uniquement échouent, car AEMaaCS nécessite un point d’entrée SMTP authentifié public.

Cause principale :

AEM as a Cloud Service ne fournit pas de serveur SMTP et ne peut pas se connecter aux hôtes SMTP internes. Tous les e-mails sortants doivent utiliser un fournisseur SMTP externe public fourni par le client et acheminé via Advanced Networking. Les environnements Sandbox ne prennent pas en charge la mise en réseau avancée, de sorte que le protocole SMTP n’est pas possible dans ces environnements. Les tentatives d’utilisation des serveurs SMTP non fournis par AMS échouent, car ils ne sont pas accessibles à partir de l’environnement AEMaaCS Kubernetes.

Comment confirmer

  1. Déterminez si l’environnement prend en charge SMTP. Déterminez si l’environnement est en mode Sandbox, RDE, Évaluation ou Production. Le protocole SMTP n’est pas pris en charge sur les sandbox ou les RDE, de sorte que le test doit avoir lieu dans un environnement d’évaluation ou de production.
  2. Vérifiez que le point d’entrée SMTP prévu est externe et public. AEMaaCS ne peut pas atteindre les hôtes SMTP internes ou AMS, de sorte qu’un serveur interne uniquement ne fonctionnera pas, quelle que soit la configuration.

Résolution resolution

Pour résoudre ce problème, procédez comme suit :

  1. Sélectionner et préparer un fournisseur SMTP externe. Choisissez un fournisseur SMTP authentifié public et obtenez son hôte, son port, son nom d’utilisateur et son mot de passe. Ces informations d’identification proviennent de votre fournisseur de messagerie ; Adobe ne fournit pas d’informations d’identification SMTP.

  2. Configurez la mise en réseau avancée dans Cloud Manager. Créez des portForwards dont les portOrig sont comprises dans la plage 30000-30999 et portDest définies sur 465 ou 587 en fonction de votre fournisseur SMTP. Vérifiez que le pipeline Cloud Manager JSON comprend un bloc portForwards.

  3. Ajoutez la configuration OSGi du service de messagerie à votre référentiel. Créez ui.config/src/jcr_root/apps/<project>/osgiconfig/config/com.day.cq.mailer.DefaultMailService.cfg.jsonavec ces valeurs :

    • smtp.host = $[ env:AEM_PROXY_HOST;default=proxy.tunnel]
    • smtp.port = la valeur portOrig de l’étape précédente (par exemple : 30465 ou 30587)
    • smtp.ssl = true lors de l’utilisation du port 465 ou false lors de l’utilisation du port 587
  4. Redéploiement via Cloud Manager. Exécutez un pipeline de déploiement complet, puis ouvrez /system/console/configMgr (en lecture seule mais visible sur AEMaaCS) et confirmez com.day.cq.mailer.DefaultMailService reflète les valeurs configurées.

  5. Vérifiez la connectivité SMTP. Déclenchez un e-mail de workflow AEM ou envoyez un e-mail par le biais d’une servlet personnalisée, puis recherchez une connexion authentifiée dans les journaux de votre fournisseur SMTP. Si la diffusion est bloquée, vérifiez si le fournisseur la rejette en raison de DKIM/DMARC, qui est géré au niveau du fournisseur SMTP plutôt que dans AEM.

Validation

  1. Confirmer qu’un e-mail envoyé à partir d’AEM apparaît dans les journaux de bord du fournisseur SMTP.
  2. Confirmez que le service de messagerie Day CQ affiche smtp.host = proxy.tunnel et un smtp.port dans la plage 30000-30999 dans la console OSGi.
  3. Vérifiez qu’AEM n’affiche error.log d’erreur de connexion SMTP.

Lecture connexe

recommendation-more-help
experience-cloud-kcs-help-kbarticles