Configuración de notificaciones por correo electrónico

AEM envía notificaciones por correo electrónico a los usuarios que:

  • Se han suscrito a eventos de página, por ejemplo modificación o replicación. La sección Bandeja de entrada de notificaciones describe cómo suscribirse a estos eventos.

  • Se han suscrito a eventos de foro.

  • Debe realizar un paso en un flujo de trabajo. En la sección Participant Step se describe cómo almacenar en déclencheur las notificaciones por correo electrónico en un flujo de trabajo.

Requisitos previos:

  • Los usuarios deben tener una dirección de correo electrónico válida definida en su perfil.
  • El Servicio de correo de CQ de día debe configurarse correctamente.

Cuando se notifica a un usuario, recibe un correo electrónico en el idioma definido en su perfil. Cada idioma tiene su propia plantilla que se puede personalizar. Se pueden añadir nuevas plantillas de correo electrónico para los nuevos idiomas.

NOTA

Al trabajar con AEM hay varios métodos para administrar los ajustes de configuración de dichos servicios; consulte Configuración de OSGi para obtener más información y las prácticas recomendadas.

Configuración del servicio de correo

Para AEM poder enviar correos electrónicos, el Day CQ Mail Service debe configurarse correctamente. Puede ver la configuración en la consola web. Al trabajar con AEM hay varios métodos para administrar los ajustes de configuración de dichos servicios; consulte Configuración de OSGi para obtener más información y las prácticas recomendadas.

Se aplican las siguientes restricciones:

  • El puerto del servidor SMTP debe ser de 25 o superior.

  • El nombre de host del servidor SMTP no debe estar en blanco.

  • La dirección "From" no debe estar en blanco.

Para ayudarle a depurar un problema con el Day CQ Mail Service, puede ver los registros del servicio:

com.day.cq.mailer.DefaultMailService

La configuración tiene el siguiente aspecto en la consola web:

chlimage_1-276

Configuración del canal de notificación de correo electrónico

Al suscribirse a las notificaciones de eventos de página o foro, la dirección de correo electrónico de se establece en no-reply@acme.com de forma predeterminada. Puede cambiar este valor configurando el servicio Notification Email Channel en la consola web.

Para configurar la dirección de correo electrónico, agregue un nodo sling:OsgiConfig al repositorio. Utilice el siguiente procedimiento para añadir el nodo directamente mediante el CRXDE Lite :

  1. En el CRXDE Lite, agregue una carpeta denominada config debajo de la carpeta de la aplicación.

  2. En la carpeta de configuración, añada un nodo denominado:

    com.day.cq.wcm.notification.email.impl.EmailChannel de tipo sling:OsgiConfig

  3. Agregue una propiedad String al nodo llamado email.from. Para el valor, especifique la dirección de correo electrónico que desea utilizar.

  4. Haga clic en Guardar todo.

Utilice el siguiente procedimiento para definir el nodo en las carpetas de origen del paquete de contenido:

  1. En jcr_root/apps/*app_name*/config folder, cree un archivo con el nombre com.day.cq.wcm.notification.email.impl.EmailChannel.xml

  2. Añada el siguiente XML para representar el nodo :

    <?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:sling="https://sling.apache.org/jcr/sling/1.0" xmlns:jcr="https://www.jcp.org/jcr/1.0" jcr:primaryType="sling:OsgiConfig" email.from="name@server.com"/>

  3. Reemplace el valor del atributo email.from ( name@server.com) por su dirección de correo electrónico.

  4. Guarde el archivo.

Configuración del servicio de notificación de correo electrónico del flujo de trabajo

Cuando recibe notificaciones por correo electrónico del flujo de trabajo, tanto la dirección de correo electrónico como el prefijo de URL del host se establecen en valores predeterminados. Puede cambiar estos valores configurando el Day CQ Workflow Email Notification Service en la consola web. Si lo hace, se recomienda mantener el cambio en el repositorio.

La configuración predeterminada tiene el siguiente aspecto en la consola web:

chlimage_1-277

Plantillas de correo electrónico para notificaciones de página

A continuación se describen las plantillas de correo electrónico para las notificaciones de página:

/libs/settings/notification-templates/com.day.cq.wcm.core.page

La plantilla predeterminada en inglés ( en.txt) se define de la siguiente manera:

subject=[CQ Page Event Notification]: Page Event

header=-------------------------------------------------------------------------------------\n \
Time: ${time}\n \
User: ${userFullName} (${userId})\n \
-------------------------------------------------------------------------------------\n\n

message=The following pages were affected by the event: \n \
 \n \
${modifications} \n \
 \n\n
footer=\n \
-------------------------------------------------------------------------------------\n \
This is an automatically generated message. Please do not reply.

Personalización de plantillas de correo electrónico para notificaciones de página

Para personalizar la plantilla de correo electrónico en inglés para la notificación de página:

  1. En CRXDE, abra el archivo :

    /libs/settings/notification-templates/com.day.cq.wcm.core.page/en.txt

  2. Modifique el archivo según sus necesidades.

  3. Guarde los cambios.

La plantilla debe tener el siguiente formato:

 subject=<text_1>
 header=<text_2>
 message=<text_3>
 footer=<text_4>

Donde <text_x> puede ser una mezcla de texto estático y variables de cadena dinámicas. En la plantilla de correo electrónico para las notificaciones de página se pueden usar las siguientes variables:

  • ${time}, la fecha y hora del evento.

  • ${userFullName}, el nombre completo del usuario que activó el evento.

  • ${userId}, el ID del usuario que activó el evento.

  • ${modifications}, describe el tipo de evento de página y la ruta de página en formato :

    <page event="" type=""> => <page path="">

    Por ejemplo:

    PageModified => /content/geometrixx/en/products

Plantillas de correo electrónico para la notificación del foro

Las plantillas de correo electrónico para las notificaciones del foro se encuentran en:

/etc/notification/email/default/com.day.cq.collab.forum

La plantilla predeterminada en inglés ( en.txt) se define de la siguiente manera:

subject=[CQ Forum Notification]

header=-------------------------------------------------------------------------------------\n \
Time: Time: ${time}\n \
Forum Page Path: ${forum.path}\n \
-------------------------------------------------------------------------------------\n\n

message=Page: ${host.prefix}${forum.path}.html\n

footer=\n \
-------------------------------------------------------------------------------------\n \
This is an automatically generated message. Please do not reply.

Personalización de plantillas de correo electrónico para notificaciones de foro

Para personalizar la plantilla de correo electrónico en inglés para la notificación del foro:

  1. En CRXDE, abra el archivo :

    /etc/notification/email/default/com.day.cq.collab.forum/en.txt

  2. Modifique el archivo según sus necesidades.

  3. Guarde los cambios.

La plantilla debe tener el siguiente formato:

 subject=<text_1>
 header=<text_2>
 message=<text_3>
 footer=<text_4>

Donde <text_x> puede ser una mezcla de texto estático y variables de cadena dinámicas.

En la plantilla de correo electrónico para las notificaciones del foro se pueden utilizar las siguientes variables:

  • ${time}, la fecha y hora del evento.

  • ${forum.path}, la ruta a la página del foro.

Plantillas de correo electrónico para notificación de flujo de trabajo

La plantilla de correo electrónico para las notificaciones de flujo de trabajo (en inglés) se encuentra en:

/libs/settings/workflow/notification/email/default/en.txt

Se define de la siguiente manera:

subject=Workflow notification: ${event.EventType}

header=-------------------------------------------------------------------------------------\n \
Time: ${event.TimeStamp}\n \
Step: ${item.node.title}\n \
User: ${participant.name} (${participant.id})\n \
Workflow: ${model.title}\n \
-------------------------------------------------------------------------------------\n\n

message=Content: ${host.prefix}${payload.path.open}\n

footer=\n \
-------------------------------------------------------------------------------------\n \
View the overview in your ${host.prefix}/aem/inbox\n \
-------------------------------------------------------------------------------------\n \
This is an automatically generated message. Please do not reply.

Personalización de plantillas de correo electrónico para notificación de flujo de trabajo

Para personalizar la plantilla de correo electrónico en inglés para la notificación de eventos de flujo de trabajo:

  1. En CRXDE, abra el archivo :

    /libs/settings/workflow/notification/email/default/en.txt

  2. Modifique el archivo según sus necesidades.

  3. Guarde los cambios.

La plantilla debe tener el siguiente formato:

subject=<text_1>
 header=<text_2>
 message=<text_3>
 footer=<text_4>
NOTA

Donde <text_x> puede ser una mezcla de texto estático y variables de cadena dinámicas. Cada línea de un elemento <text_x> debe terminar con una barra invertida ( \), excepto la última instancia, cuando la ausencia de la barra invertida indica el final de la variable de cadena <text_x>.

Puede encontrar más información sobre el formato de la plantilla en los javadocs del método Properties.load().

El método ${payload.path.open} revela la ruta a la carga útil del elemento de trabajo. Por ejemplo, para una página en Sitios, entonces payload.path.open sería similar a /bin/wcmcommand?cmd=open&path=….; esto no tiene el nombre del servidor, por lo que la plantilla antepone esto a ${host.prefix}.

En la plantilla de correo electrónico se pueden utilizar las siguientes variables:

  • ${event.EventType}, tipo de evento

  • ${event.TimeStamp}, fecha y hora del evento

  • ${event.User}, el usuario que activó el evento

  • ${initiator.home}, la ruta del nodo iniciador

  • ${initiator.name}, el nombre del iniciador

  • ${initiator.email}, dirección de correo electrónico del iniciador

  • ${item.id}, el id del elemento de trabajo

  • ${item.node.id}, id del nodo en el modelo de flujo de trabajo asociado a este elemento de trabajo

  • ${item.node.title}, título del elemento de trabajo

  • ${participant.email}, dirección de correo electrónico del participante

  • ${participant.name}, nombre del participante

  • ${participant.familyName}, apellido del participante

  • ${participant.id}, id del participante

  • ${participant.language}, el idioma del participante

  • ${instance.id}, el id del flujo de trabajo

  • ${instance.state}, el estado del flujo de trabajo

  • ${model.title}, título del modelo de flujo de trabajo

  • ${model.id}, el id del modelo de flujo de trabajo

  • ${model.version}, la versión del modelo de flujo de trabajo

  • ${payload.data}, la carga útil

  • ${payload.type}, el tipo de carga útil

  • ${payload.path}, ruta de la carga útil

  • ${host.prefix}, prefijo de host, por ejemplo: http://localhost:4502

Adición de una plantilla de correo electrónico para un nuevo idioma

Para añadir una plantilla para un nuevo idioma:

  1. En CRXDE, añada un archivo <language-code>.txt a continuación:

    • /libs/settings/notification-templates/com.day.cq.wcm.core.page : para notificaciones de página
    • /etc/notification/email/default/com.day.cq.collab.forum : para notificaciones de foro
    • /libs/settings/workflow/notification/email/default : para notificaciones de flujo de trabajo
  2. Adapte el archivo al idioma.

  3. Guarde los cambios.

NOTA

El <language-code> utilizado como nombre de archivo para la plantilla de correo electrónico debe ser un código de idioma en minúsculas de dos letras que AEM reconozca. Para códigos de idioma, AEM se basa en ISO-639-1.

Configuración de las notificaciones por correo electrónico de AEM Assets

Cuando se comparten o dejan de compartir colecciones en AEM Assets, los usuarios pueden recibir notificaciones por correo electrónico de AEM. Para configurar las notificaciones por correo electrónico, siga estos pasos.

  1. Configure el servicio de correo electrónico, tal como se describe anteriormente en Configuración del servicio de correo.
  2. Inicie sesión en AEM como administrador. Haga clic en Herramientas > Operaciones > Consola web para abrir la Configuración de la consola web.
  3. Edite Day CQ DAM Resource Collection Servlet. Seleccione enviar correo electrónico. Haga clic en Guardar.

Configuración de OAuth

AEM ofrece compatibilidad con OAuth2 para su servicio de correo integrado, con el fin de permitir que las organizaciones se adhieran a los requisitos de correo electrónico seguro.

Puede configurar OAuth para varios proveedores de correo electrónico, como se describe a continuación.

Gmail

  1. Cree su proyecto en https://console.developers.google.com/projectcreate
  2. Seleccione el proyecto y vaya a API & Services - Panel - Credenciales
  3. Configure la pantalla de consentimiento de OAuth según sus necesidades
  4. En la pantalla de actualización que aparece a continuación, añada estos dos ámbitos:
    • https://mail.google.com/
    • https://www.googleapis.com//auth/gmail.send
  5. Una vez añadidos los ámbitos, vuelva a Credentials en el menú de la izquierda y, a continuación, vaya a Create Credentials - OAuth Client ID - Desktop app
  6. Se abrirá una nueva ventana que contiene el ID de cliente y el Secreto de cliente.
  7. Guarde estas credenciales.

Configuraciones AEM

NOTA

Los clientes de Adobe Managed Service pueden trabajar con su ingeniero de servicio al cliente para realizar estos cambios en los entornos de producción.

En primer lugar, configure el servicio de correo:

  1. Abra la consola web de AEM en http://serveraddress:serverport/system/console/configMgr.
  2. Busque y luego haga clic en Day CQ Mail Service
  3. Añada la siguiente configuración:
    • Nombre de host del servidor SMTP: smtp.gmail.com
    • Puerto del servidor SMTP: 25 o 587, según los requisitos
    • Marque las casillas de verificación para SMPT use StarTLS y SMTP requiere StarTLS
    • Marque OAuth flow y haga clic en Save.

A continuación, configure el proveedor SMTP OAuth siguiendo el procedimiento a continuación:

  1. Abra la consola web de AEM en http://serveraddress:serverport/system/console/configMgr.
  2. Busque y luego haga clic en CQ Mailer SMTP OAuth2 Provider
  3. Complete la información requerida de la siguiente manera:
    • URL de autorización: https://accounts.google.com/o/oauth2/auth
    • URL del token: https://accounts.google.com/o/oauth2/token
    • Ámbitos: https://www.googleapis.com/auth/gmail.send y https://mail.google.com/. Puede agregar más de un ámbito presionando el botón + a la derecha de cada ámbito configurado.
    • ID de cliente y Secreto de cliente: configure estos campos con los valores que recuperó tal como se describe en el párrafo anterior.
    • URL de token de actualización: https://accounts.google.com/o/oauth2/token
    • Actualizar caducidad del token: never
  4. Haga clic en Guardar.

Una vez configurada, la configuración debe tener este aspecto:

proveedor smtp de oauth

Ahora, active los componentes de OAuth. Para ello:

  1. Vaya a la consola Componentes visitando esta URL: http://serveraddress:serverport/system/console/components

  2. Busque los siguientes componentes

    • com.day.cq.mailer.oauth.servlets.handler.OAuthCodeGenerateServlet
    • com.day.cq.mailer.oauth.servlets.handler.OAuthCodeAccessTokenGenerator
  3. Pulse el icono Reproducir a la izquierda de los componentes.

    componentes

Finalmente, confirme la configuración de:

  1. Vaya a la dirección de la instancia Publicar e inicie sesión como administrador.
  2. Abra una nueva pestaña en el explorador y vaya a http://serveraddress:serverport/services/mailer/oauth2/authorize. Esto le redirigirá a la página de su proveedor SMTP, en este caso Gmail.
  3. Inicio de sesión y consentimiento para conceder los permisos necesarios
  4. Después de dar su consentimiento, el token se almacenará en el repositorio. Puede acceder a ella en accessToken accediendo directamente a esta URL en la instancia de publicación: http://serveraddress:serverport/crx/de/index.jsp#/conf/global/settings/mailer/oauth2
  5. Repita lo anterior para cada instancia de publicación

Microsoft Outlook

  1. Vaya a https://portal.azure.com/ e inicie sesión.

  2. Busque Azure Active Directory en la barra de búsqueda y haga clic en el resultado. También puede navegar directamente a https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview

  3. Haga clic en Registro de aplicaciones - Nuevo registro

  4. Rellene la información según sus necesidades y haga clic en Registrar

  5. Vaya a la aplicación recién creada y seleccione Permisos de API

  6. Vaya a Agregar permiso - Permiso de gráfico - Permisos delegados

  7. Seleccione los siguientes permisos para su aplicación y haga clic en Agregar permiso:

    • SMTP.Send
    • Mail.Read
    • Mail.Send
    • openid
    • offline_access
  8. Vaya a Autenticación - Agregar una plataforma - Web y, en la sección Direccionamiento de URL, añada la siguiente URL para redirigir el código de OAuth y, a continuación, presione Configurar:

    • http://localhost:4503/services/mailer/oauth2/token
  9. Repita lo anterior para cada instancia de publicación

  10. Configure las opciones según sus necesidades

  11. A continuación, vaya a Certificates and Secrets, haga clic en New client secret y siga los pasos de la pantalla para crear un secreto. Asegúrese de tomar nota de este secreto para utilizarlo posteriormente

  12. Pulse Overview en el panel izquierdo y copie los valores de Application (client) ID e Directory (tenant) ID para usarlos más adelante

Para recapitular, necesitará la siguiente información para configurar OAuth2 para el servicio Mailer en el lado AEM:

  • La URL de autenticación, que se construirá con el ID del inquilino. Tendrá este formulario: https://login.microsoftonline.com/<tenantID>/oauth2/v2.0/authorize
  • La URL del token, que se construirá con el ID del inquilino. Tendrá este formulario: https://login.microsoftonline.com/<tenantID>/oauth2/v2.0/token
  • La URL de actualización, que se construirá con el ID del inquilino. Tendrá este formulario: https://login.microsoftonline.com/<tenantID>/oauth2/v2.0/token
  • El ID de cliente
  • El secreto del cliente

Configuraciones AEM

A continuación, integre la configuración de OAuth2 con AEM:

  1. Vaya a la consola web de la instancia local navegando a http://serveraddress:serverport/system/console/configMgr
  2. Busque y haga clic en Day CQ Mail Service
  3. Añada la siguiente configuración:
    • Nombre de host del servidor SMTP: smtp.office365.com
    • Usuario SMTP: su nombre de usuario en formato de correo electrónico
    • Dirección "De": La dirección de correo electrónico que se utiliza en el campo "De:" de mensajes enviados por el remitente
    • Puerto del servidor SMTP: 25 o 587 según los requisitos
    • Marque las casillas de verificación para SMPT use StarTLS y SMTP requiere StarTLS
    • Marque OAuth flow y haga clic en Save.
  4. Busque y luego haga clic en CQ Mailer SMTP OAuth2 Provider
  5. Complete la información requerida de la siguiente manera:
    • Complete la URL de autorización, la URL del token y la URL del token de actualización construyéndolos tal como se describe al final de este procedimiento
    • ID de cliente y Secreto de cliente: configure estos campos con los valores que recuperó como se describe anteriormente.
    • Agregue los siguientes ámbitos a la configuración:
      • openid
      • offline_access
      • https://outlook.office365.com/Mail.Send
      • https://outlook.office365.com/Mail.Read
      • https://outlook.office365.com/SMTP.Send
    • Url De Redireccionamiento AuthCode: http://localhost:4503/services/mailer/oauth2/token
    • Actualizar URL del token: debe tener el mismo valor que la dirección URL del token anterior
  6. Haga clic en Guardar.

Una vez configurada, la configuración debe tener este aspecto:

Ahora, active los componentes de OAuth. Para ello:

  1. Vaya a la consola Componentes visitando esta URL: http://serveraddress:serverport/system/console/components
  2. Busque los siguientes componentes
    • com.day.cq.mailer.oauth.servlets.handler.OAuthCodeGenerateServlet
    • com.day.cq.mailer.oauth.servlets.handler.OAuthCodeAccessTokenGenerator
  3. Pulse el icono Reproducir a la izquierda de los componentes.

componentes2

Finalmente, confirme la configuración de:

  1. Vaya a la dirección de la instancia Publicar e inicie sesión como administrador.
  2. Abra una nueva pestaña en el explorador y vaya a http://serveraddress:serverport/services/mailer/oauth2/authorize. Esto le redirigirá a la página de su proveedor SMTP, en este caso Gmail.
  3. Inicio de sesión y consentimiento para conceder los permisos necesarios
  4. Después de dar su consentimiento, el token se almacenará en el repositorio. Puede acceder a ella en accessToken accediendo directamente a esta URL en la instancia de publicación: http://serveraddress:serverport/crx/de/index.jsp#/conf/global/settings/mailer/oauth2

En esta página