O AEM envia notificações por email para usuários que:
Inscreveram-se em eventos de página, por exemplo, modificação ou replicação. O Caixa de entrada de notificações descreve como assinar esses eventos.
Inscreveram-se nos eventos do fórum.
É necessário executar uma etapa em um fluxo de trabalho. O Etapa do participante descreve como acionar a notificação por email em um workflow.
Pré-requisitos:
Quando um usuário é notificado, ele recebe um email no idioma definido em seu perfil. Cada idioma tem seu próprio modelo que pode ser personalizado. Novos modelos de email podem ser adicionados para novos idiomas.
Ao trabalhar com AEM, existem vários métodos de gestão das definições de configuração para esses serviços; see Configuração do OSGi para obter mais detalhes e as práticas recomendadas.
Para que o AEM possa enviar emails, a variável Day CQ Mail Service precisa ser configurado corretamente. Você pode exibir a configuração no console da Web. Ao trabalhar com AEM, existem vários métodos de gestão das definições de configuração para esses serviços; see Configuração do OSGi para obter mais detalhes e as práticas recomendadas.
As seguintes restrições se aplicam:
O Porta do servidor SMTP deve ser 25 ou superior.
O Nome do host do servidor SMTP não deve ficar em branco.
O Endereço "De" não deve ficar em branco.
Para ajudar você a depurar um problema com o Day CQ Mail Service, você pode assistir aos registros do serviço:
com.day.cq.mailer.DefaultMailService
A configuração é a seguinte no console da Web:
Ao assinar notificações de eventos de página ou de fórum, o endereço de email de formulário é definido como no-reply@acme.com
por padrão. Você pode alterar esse valor configurando a variável Canal de email de notificação no Console da Web.
Para configurar o endereço de e-mail do , adicione um sling:OsgiConfig
para o repositório. Use o procedimento a seguir para adicionar o nó diretamente usando o CRXDE Lite:
No CRXDE Lite, adicione uma pasta chamada config
abaixo da pasta do aplicativo.
Na pasta de configuração, adicione um nó chamado:
com.day.cq.wcm.notification.email.impl.EmailChannel
de tipo sling:OsgiConfig
Adicione um String
propriedade do nó nomeado email.from
. Para o valor , especifique o endereço de email que deseja usar.
Clique em Salvar tudo.
Use o procedimento a seguir para definir o nó nas pastas de origem do pacote de conteúdo:
Em seu jcr_root/apps/*app_name*/config folder
, crie um arquivo chamado com.day.cq.wcm.notification.email.impl.EmailChannel.xml
Adicione o seguinte XML para representar o nó:
<?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"/>
Substitua o valor da variável email.from
atributo ( name@server.com
) com seu endereço de email.
Salve o arquivo.
Quando você recebe notificações por email do workflow, o endereço de email de e o prefixo do URL de host são definidos como valores padrão. Você pode alterar esses valores configurando a variável Serviço de Notificação por Email do Workflow CQ Dia no Console da Web. Se isso for feito, é recomendável manter a alteração no repositório.
A configuração padrão é a seguinte no Console da Web:
Os modelos de email para notificações de página estão localizados abaixo:
/libs/settings/notification-templates/com.day.cq.wcm.core.page
O modelo padrão em inglês ( en.txt
) é definido da seguinte forma:
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.
Para personalizar o modelo de email em inglês para notificação de página:
No CRXDE, abra o arquivo :
/libs/settings/notification-templates/com.day.cq.wcm.core.page/en.txt
Modifique o arquivo de acordo com suas necessidades.
Salve as alterações.
O modelo precisa ter o seguinte formato:
subject=<text_1>
header=<text_2>
message=<text_3>
footer=<text_4>
Onde <text_x> pode ser uma combinação de texto estático e variáveis de sequência dinâmica. As variáveis a seguir podem ser usadas no modelo de email para notificações de página:
${time}
, a data e a hora do evento.
${userFullName}
, o nome completo do usuário que acionou o evento.
${userId}
, a ID do usuário que acionou o evento.
${modifications}
, descreve o tipo do evento de página e o caminho da página no formato :
<page event="" type=""> => <page path="">
Por exemplo:
PageModified => /content/geometrixx/en/products
Os modelos de email para notificações de fórum estão localizados em:
/etc/notification/email/default/com.day.cq.collab.forum
O modelo padrão em inglês ( en.txt
) é definido da seguinte forma:
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.
Para personalizar o modelo de email em inglês para notificação do fórum:
No CRXDE, abra o arquivo :
/etc/notification/email/default/com.day.cq.collab.forum/en.txt
Modifique o arquivo de acordo com suas necessidades.
Salve as alterações.
O modelo precisa ter o seguinte formato:
subject=<text_1>
header=<text_2>
message=<text_3>
footer=<text_4>
Onde <text_x>
pode ser uma combinação de texto estático e variáveis de sequência dinâmica.
As variáveis a seguir podem ser usadas no modelo de email para notificações do fórum:
${time}
, a data e a hora do evento.
${forum.path}
, o caminho para a página do fórum.
O modelo de email para notificações de workflow (inglês) está localizado em:
/libs/settings/workflow/notification/email/default/en.txt
É definido da seguinte forma:
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.
Para personalizar o modelo de email em inglês para notificação de evento de workflow:
No CRXDE, abra o arquivo :
/libs/settings/workflow/notification/email/default/en.txt
Modifique o arquivo de acordo com suas necessidades.
Salve as alterações.
O modelo precisa ter o seguinte formato:
subject=<text_1>
header=<text_2>
message=<text_3>
footer=<text_4>
Onde <text_x>
pode ser uma combinação de texto estático e variáveis de sequência dinâmica. Cada linha de um <text_x>
item precisa ser encerrado com uma barra invertida ( \
), exceto para a última instância, quando a ausência da barra invertida indicar o fim do <text_x>
variável da string.
Mais informações sobre o formato do modelo podem ser encontradas na seção javadocs de Properties.load() método .
O método ${payload.path.open}
revela o caminho para a carga do item de trabalho. Por exemplo, para uma página em Sites , em seguida payload.path.open
seria semelhante a /bin/wcmcommand?cmd=open&path=…
.; isso é sem o nome do servidor, por isso o modelo prepara com ${host.prefix}
.
As variáveis a seguir podem ser usadas no modelo de email:
${event.EventType}
, tipo de evento
${event.TimeStamp}
, data e hora do evento
${event.User}
, o usuário que acionou o evento
${initiator.home}
, o caminho do nó iniciador
${initiator.name}
, o nome do iniciador
${initiator.email}
, endereço de email do iniciador
${item.id}
, a id do item de trabalho
${item.node.id}
, id do nó no modelo de fluxo de trabalho associado a este item de trabalho
${item.node.title}
, título do item de trabalho
${participant.email}
, endereço de e-mail do participante
${participant.name}
nome do participante
${participant.familyName}
, nome familiar do participante
${participant.id}
, id do participante
${participant.language}
, a língua do participante
${instance.id}
, a id do fluxo de trabalho
${instance.state}
, o estado do fluxo de trabalho
${model.title}
, título do modelo de fluxo de trabalho
${model.id}
, a id do modelo de fluxo de trabalho
${model.version}
, a versão do modelo de fluxo de trabalho
${payload.data}
, a carga
${payload.type}
, o tipo de carga
${payload.path}
, caminho da carga
${host.prefix}
, prefixo do host, por exemplo: http://localhost:4502
Para adicionar um modelo para um novo idioma:
No CRXDE, adicione um arquivo <language-code>.txt
abaixo:
/libs/settings/notification-templates/com.day.cq.wcm.core.page
: para notificações de página/etc/notification/email/default/com.day.cq.collab.forum
: para notificações do fórum/libs/settings/workflow/notification/email/default
: para notificações de fluxo de trabalhoAdapte o arquivo ao idioma.
Salve as alterações.
O <language-code>
usado como o nome de arquivo do modelo de email precisa ser um código de idioma em letras minúsculas que seja reconhecido pela AEM. Para códigos de idioma, o AEM depende do ISO-639-1.
Quando as coleções no AEM Assets são compartilhadas ou não, os usuários podem receber notificações por email do AEM. Para configurar notificações por email, siga estas etapas.
O AEM oferece suporte ao OAuth2 para seu serviço de email integrado, a fim de permitir que as organizações adiram para proteger os requisitos de email.
Você pode configurar o OAuth para vários provedores de email, conforme descrito abaixo.
Esse procedimento é um exemplo de uma instância de publicação. Se desejar ativar as notificações por email em uma instância do Autor, é necessário seguir as mesmas etapas no Autor.
https://console.developers.google.com/projectcreate
https://mail.google.com/
https://www.googleapis.com//auth/gmail.send
Configurações AEM Lado
Os clientes do Adobe Managed Service podem trabalhar com o engenheiro de atendimento ao cliente para fazer essas alterações em ambientes de produção.
Primeiro, configure o Serviço de email:
http://serveraddress:serverport/system/console/configMgr
smtp.gmail.com
25
ou 587
, dependendo dos requisitosEm seguida, configure seu provedor SMTP OAuth seguindo o procedimento abaixo:
http://serveraddress:serverport/system/console/configMgr
https://accounts.google.com/o/oauth2/auth
https://accounts.google.com/o/oauth2/token
https://www.googleapis.com/auth/gmail.send
e https://mail.google.com/
. Você pode adicionar mais de um escopo pressionando a + no lado direito de cada escopo configurado.https://accounts.google.com/o/oauth2/token
Depois de configuradas, as configurações devem ficar assim:
Agora, ative os componentes do OAuth. Você pode fazer isso ao:
Acesse o console Componentes acessando este URL: http://serveraddress:serverport/system/console/components
Procure os seguintes componentes
com.day.cq.mailer.oauth.servlets.handler.OAuthCodeGenerateServlet
com.day.cq.mailer.oauth.servlets.handler.OAuthCodeAccessTokenGenerator
Pressione o ícone Reproduzir à esquerda dos componentes
Finalmente, confirme a configuração ao:
http://serveraddress:serverport/services/mailer/oauth2/authorize
. Isso o redirecionará para a página do seu provedor SMTP, neste caso Gmail.accessToken
acessando diretamente esse URL na sua instância de publicação: http://serveraddress:serverport/crx/de/index.jsp#/conf/global/settings/mailer/oauth
Acesse https://portal.azure.com/ e faça logon.
Pesquise por Azure Active Directory na barra de pesquisa e clique no resultado. Como alternativa, você pode navegar diretamente para https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview
Clique em Registro do aplicativo - Novo registro
Preencha as informações de acordo com suas necessidades e clique em Registrar
Acesse o aplicativo recém-criado e selecione Permissões de API
Vá em Adicionar permissão - Permissão de gráfico - Permissões delegadas
Selecione as permissões abaixo para seu aplicativo e clique em Adicionar permissão:
SMTP.Send
Mail.Read
Mail.Send
openid
offline_access
Ir para Autenticação - Adicionar uma plataforma - Web e no Urls De Redirecionamento , adicione o seguinte URL para redirecionar o código OAuth e pressione Configurar:
http://localhost:4503/services/mailer/oauth2/token
Repita o procedimento acima para cada instância de publicação
Defina as configurações de acordo com seus requisitos
Em seguida, vá em Certificados e segredos, clique em Novo segredo de cliente e siga as etapas na tela para criar um segredo. Anote este segredo para uso posterior
Pressione Visão geral no painel esquerdo e copie os valores de ID do aplicativo (cliente) e ID do diretório (locatário) para uso posterior
Para recapitular, você precisará das seguintes informações para configurar o OAuth2 para o serviço de Mailer no lado do AEM:
https://login.microsoftonline.com/<tenantID>/oauth2/v2.0/authorize
https://login.microsoftonline.com/<tenantID>/oauth2/v2.0/token
https://login.microsoftonline.com/<tenantID>/oauth2/v2.0/token
Configurações AEM Lado
Em seguida, integre suas configurações do OAuth2 com o AEM:
http://serveraddress:serverport/system/console/configMgr
smtp.office365.com
25
ou 587
dependendo dos requisitoshttps://outlook.office365.com/Mail.Send
https://outlook.office365.com/Mail.Read
https://outlook.office365.com/SMTP.Send
http://localhost:4503/services/mailer/oauth2/token
Depois de configuradas, as configurações devem ficar assim:
Agora, ative os componentes do OAuth. Você pode fazer isso ao:
http://serveraddress:serverport/system/console/components
com.day.cq.mailer.oauth.servlets.handler.OAuthCodeGenerateServlet
com.day.cq.mailer.oauth.servlets.handler.OAuthCodeAccessTokenGenerator
Finalmente, confirme a configuração ao:
http://serveraddress:serverport/services/mailer/oauth2/authorize
. Isso o redirecionará para a página do seu provedor SMTP, neste caso Gmail.accessToken
acessando diretamente esse URL na sua instância de publicação: http://serveraddress:serverport/crx/de/index.jsp#/conf/global/settings/mailer/oauth