Servicio de correo electrónico
Envíe correos electrónicos desde AEM as a Cloud Service configurando DefaultMailService
de AEM para usar puertos de salida de red avanzados.
Como la mayoría de los servicios de correo no se ejecutan a través de HTTP/HTTPS, las conexiones a los servicios de correo de AEM as a Cloud Service deben procesarse como proxy de salida.
-
smtp.host
se ha establecido en la variable de entorno OSGi$[env:AEM_PROXY_HOST;default=proxy.tunnel]
, de modo que se enrute a través de la salida.$[env:AEM_PROXY_HOST]
es una variable reservada que AEM as a Cloud Service asigna al hostproxy.tunnel
interno.- NO intente establecer
AEM_PROXY_HOST
a través de Cloud Manager.
-
smtp.port
se ha establecido en el puertoportForward.portOrig
que se asigna al host y al puerto del servicio de correo electrónico de destino. Este ejemplo utiliza la asignación:AEM_PROXY_HOST:30465
→smtp.sendgrid.com:465
.smpt.port
está establecido en el puertoportForward.portOrig
y NO en el puerto real del servidor SMTP. La reglaportForwards
de Cloud Manager ha establecido la asignación entre el puertosmtp.port
y el puertoportForward.portOrig
(como se muestra a continuación).
Dado que los secretos no deben almacenarse en el código, es mejor proporcionar el nombre de usuario y la contraseña del servicio de correo electrónico utilizando variables de configuración OSGi secretas, configuradas mediante AIO CLI o la API de Cloud Manager.
Normalmente, salida de puerto flexible se usa para satisfacer la integración con un servicio de correo electrónico a menos que sea necesario allowlist
la IP de Adobe, en cuyo caso se puede usar dirección IP de salida dedicada.
Además, revise la documentación de AEM sobre enviar correo electrónico.
Compatibilidad avanzada con redes
Las siguientes opciones avanzadas de red admiten el siguiente ejemplo de código.
Asegúrese de que la configuración avanzada de red proper se haya configurado antes de seguir este tutorial.
Configuración de OSGi
Este ejemplo de configuración de OSGi configura el servicio OSGi de correo de AEM para que utilice un servicio de correo externo mediante la siguiente regla de Cloud Manager portForwards
de la operación 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
Configure DefaultMailService de AEM según lo requiera su proveedor de correo electrónico (p. ej. 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 EMAIL_USERNAME
y EMAIL_PASSWORD
, así como el secreto, se pueden establecer por entorno mediante:
-
o utilizando el comando
aio CLI
code language-shell $ aio cloudmanager:set-environment-variables --programId=<PROGRAM_ID> <ENVIRONMENT_ID> --secret EMAIL_USERNAME "myApiKey" --secret EMAIL_PASSWORD "password123"