O AEM envia notificações por email para usuários que:
Ter se inscrito em eventos de página, por exemplo, modificação ou replicação. A variável Caixa de entrada de notificações descreve como se inscrever nesses eventos.
Ter se inscrito nos eventos do fórum.
É necessário executar uma etapa em um fluxo de trabalho. A variável 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, há vários métodos de gerenciamento das definições de configuração desses serviços; consulte Configuração do OSGi para obter mais detalhes e as práticas recomendadas.
Para que o AEM possa enviar emails, o Serviço de email Day CQ precisa ser configurado corretamente. Você pode exibir a configuração no console da Web. Ao trabalhar com AEM, há vários métodos de gerenciamento das definições de configuração desses serviços; consulte Configuração do OSGi para obter mais detalhes e as práticas recomendadas.
As seguintes restrições se aplicam:
A variável Porta do servidor SMTP deve ser 25 ou superior.
A variável Nome do host do servidor SMTP não pode estar em branco.
A variável Endereço "De" não pode estar em branco.
Para ajudar você a depurar um problema com o Serviço de email Day CQ, você pode assistir aos logs do serviço:
com.day.cq.mailer.DefaultMailService
A configuração tem a seguinte aparência no console da Web:
Quando você se inscreve nas notificações de eventos de página ou fórum, o endereço de e-mail do remetente é definido como no-reply@acme.com
por padrão. Você pode alterar esse valor configurando o Canal de email de notificação no Console da Web.
Para configurar o endereço de e-mail da, 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
do tipo sling:OsgiConfig
Adicionar um String
para o nó chamado 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:
No 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 de email.from
atributo ( name@server.com
) com seu endereço de email.
Salve o arquivo.
Ao receber notificações por email do fluxo de trabalho, o endereço de email do remetente e o prefixo do URL do host são definidos com valores padrão. Você pode alterar esses valores configurando o Serviço de notificação por email do fluxo de trabalho do Day CQ no Console da Web. Se você fizer isso, é recomendável manter a alteração no repositório.
A configuração padrão tem a seguinte aparência 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
) é definida 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 template 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 string dinâmicas. As seguintes variáveis 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 de evento de página e o caminho da página no formato:
<page event="" type=""> => <page path="">
Por exemplo:
PageModified => /content/geometrixx/en/products
O modelo de email para notificações de workflow (inglês) está localizado em:
/libs/settings/workflow/notification/email/default/en.txt
Ela é definida da seguinte maneira:
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 template de email em inglês para notificação de eventos 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 template 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 string dinâmicas. Cada linha de um <text_x>
o item precisa ser encerrado com uma barra invertida ( \
), exceto na última instância, quando a ausência da barra invertida indicar o fim da <text_x>
variável da string.
Mais informações sobre o formato do modelo podem ser encontradas no javadocs de Properties.load() método.
O método ${payload.path.open}
revela o caminho para a carga útil do item de trabalho. Por exemplo, para uma página no Sites, em seguida, payload.path.open
seria semelhante a /bin/wcmcommand?cmd=open&path=…
.; isso ocorre sem o nome do servidor, razão pela qual o modelo anexa isso ${host.prefix}
.
As seguintes variáveis podem ser usadas no template 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ó do 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 da família do participante
${participant.id}
, id do participante
${participant.language}
, o idioma do participante
${instance.id}
, a ID do fluxo de trabalho
${instance.state}
, o estado do workflow
${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 útil
${payload.type}
, o tipo de conteúdo
${payload.path}
, caminho da carga útil
${host.prefix}
, prefixo de 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/libs/settings/workflow/notification/email/default
: para notificações de workflowAdapte o arquivo ao idioma.
Salve as alterações.
A variável <language-code>
O usado como nome de arquivo para o modelo de email precisa ser um código de idioma de duas letras minúsculas, reconhecido pelo AEM. Para códigos de idioma, o AEM depende da 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.
A AEM oferece suporte do OAuth2 para seu serviço de email integrado, a fim de permitir que as organizações cumpram com os requisitos de segurança de emails.
Você pode configurar o OAuth para vários provedores de email, conforme descrito abaixo.
Esse procedimento é um exemplo para uma instância de publicação. Se quiser ativar notificações por email em uma instância de Autor, siga as mesmas etapas no Autor.
https://console.developers.google.com/projectcreate
https://mail.google.com/
https://www.googleapis.com//auth/gmail.send
Configurações no lado do AEM
Os clientes do Adobe Managed Service podem trabalhar com o engenheiro de atendimento ao cliente para fazer essas alterações nos ambientes de produção.
Primeiro, configure o Serviço de e-mail:
http://serveraddress:serverport/system/console/configMgr
smtp.gmail.com
25
ou 587
, dependendo dos requisitosEm seguida, configure o 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/
. É possível adicionar mais de um escopo, pressionando o + no lado direito de cada escopo configurado.https://accounts.google.com/o/oauth2/token
Depois de definidas, as configurações devem ter esta aparência:
Agora, ative os componentes OAuth. Você pode fazer isso ao:
Acesse o console Componentes visitando 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
Por fim, confirme a configuração ao:
http://serveraddress:serverport/services/mailer/oauth2/authorize
. Você será redirecionado para a página do seu provedor SMTP, neste caso, o Gmail.accessToken
ao acessar diretamente esse URL na 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 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 no lado do AEM
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 definidas, as configurações devem ter esta aparência:
Agora, ative os componentes 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
Por fim, confirme a configuração ao:
http://serveraddress:serverport/services/mailer/oauth2/authorize
. Você será redirecionado para a página do provedor SMTP, neste caso, para o Outlook.accessToken
ao acessar diretamente esse URL na instância de publicação: http://serveraddress:serverport/crx/de/index.jsp#/conf/global/settings/mailer/oauth