AEM会向以下用户发送电子邮件通知:
先决条件:
当用户收到通知时,他会收到一封电子邮件,其语言为其个人资料中定义的语言。 每种语言都有其自己的可自定义的模板。 可以为新语言添加新的电子邮件模板。
使用AEM时,可通过多种方法来管理此类服务的配置设置;有关更多详细信息和建议的实践,请参阅配置OSGi 。
为了使AEM能够发送电子邮件,需要正确配置Day CQ Mail Service。 您可以在Web控制台中查看配置。 使用AEM时,可通过多种方法来管理此类服务的配置设置;有关更多详细信息和建议的实践,请参阅配置OSGi 。
以下约束适用:
SMTP服务器端口必须为25或更高。
SMTP服务器主机名不能为空。
"From"地址不得为空。
为帮助您调试Day CQ Mail Service的问题,您可以查看服务的日志:
com.day.cq.mailer.DefaultMailService
配置在Web控制台中如下所示:
订阅页面或论坛事件通知时,默认情况下,发件人电子邮件地址设置为no-reply@acme.com
。 您可以通过在Web控制台中配置通知电子邮件渠道服务来更改此值。
要配置发件人电子邮件地址,请向存储库添加sling:OsgiConfig
节点。 使用以下过程直接使用CRXDE Lite添加节点:
在CRXDE Lite中,在应用程序文件夹下添加一个名为config
的文件夹。
在配置文件夹中,添加一个名为的节点:
com.day.cq.wcm.notification.email.impl.EmailChannel
类型 sling:OsgiConfig
将String
属性添加到名为email.from
的节点。 对于值,指定要使用的电子邮件地址。
单击Save All。
使用以下过程定义内容包源文件夹中的节点:
在jcr_root/apps/*app_name*/config folder
中创建名为com.day.cq.wcm.notification.email.impl.EmailChannel.xml
的文件
添加以下XML来表示节点:
<?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"/>
将email.from
属性(name@server.com
)的值替换为您的电子邮件地址。
保存文件。
当您收到工作流电子邮件通知时,发件人电子邮件地址和主机URL前缀均设置为默认值。 您可以通过在Web控制台中配置Day CQ工作流电子邮件通知服务来更改这些值。 如果这样做,建议在存储库中保留所做的更改。
默认配置在Web控制台中如下所示:
页面通知的电子邮件模板位于以下位置:
/libs/settings/notification-templates/com.day.cq.wcm.core.page
默认的英语模板(en.txt
)的定义如下:
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.
要自定义页面通知的英语电子邮件模板,请执行以下操作:
在CRXDE中,打开文件:
/libs/settings/notification-templates/com.day.cq.wcm.core.page/en.txt
根据需要修改文件。
保存更改。
模板需要具有以下格式:
subject=<text_1>
header=<text_2>
message=<text_3>
footer=<text_4>
其中<text_x>可以是静态文本和动态字符串变量的混合变量。 可以在电子邮件模板中使用以下变量来发送页面通知:
${time}
,事件日期和时间。
${userFullName}
,触发事件的用户的全名。
${userId}
,触发事件的用户ID。
${modifications}
,采用以下格式描述页面事件类型和页面路径:
<page event="" type=""> => <page path="">
例如:
PageModified => /content/geometrixx/en/products
论坛通知的电子邮件模板位于:
/etc/notification/email/default/com.day.cq.collab.forum
默认的英语模板(en.txt
)的定义如下:
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.
要自定义论坛通知的英语电子邮件模板,请执行以下操作:
在CRXDE中,打开文件:
/etc/notification/email/default/com.day.cq.collab.forum/en.txt
根据需要修改文件。
保存更改。
模板需要具有以下格式:
subject=<text_1>
header=<text_2>
message=<text_3>
footer=<text_4>
其中<text_x>
可以是静态文本和动态字符串变量的混合变量。
在论坛通知的电子邮件模板中可以使用以下变量:
${time}
,事件日期和时间。
${forum.path}
,查看论坛页面的路径。
工作流通知的电子邮件模板(英文)位于:
/libs/settings/workflow/notification/email/default/en.txt
定义如下:
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.
要自定义工作流事件通知的英语电子邮件模板,请执行以下操作:
在CRXDE中,打开文件:
/libs/settings/workflow/notification/email/default/en.txt
根据需要修改文件。
保存更改。
模板需要具有以下格式:
subject=<text_1>
header=<text_2>
message=<text_3>
footer=<text_4>
其中<text_x>
可以是静态文本和动态字符串变量的混合变量。 <text_x>
项目的每行都需要以反斜杠(\
)结尾,但最后一个实例除外,因为没有反斜杠表示<text_x>
字符串变量的结尾。
有关模板格式的详细信息,请参阅Properties.load() 🔗方法的javaoc。
方法${payload.path.open}
显示工作项有效负载的路径。 例如,对于站点中的页面,则payload.path.open
类似于/bin/wcmcommand?cmd=open&path=…
。;这没有服务器名称,因此模板会将此名称附加到${host.prefix}
。
以下变量可在电子邮件模板中使用:
${event.EventType}
,事件类型
${event.TimeStamp}
、事件的日期和时间
${event.User}
,触发事件的用户
${initiator.home}
,启动器节点路径
${initiator.name}
,启动器名称
${initiator.email}
,启动器的电子邮件地址
${item.id}
,工作项的id
${item.node.id}
,与此工作项关联的工作流模型中节点的id
${item.node.title}
,工作项的标题
${participant.email}
,参与者的电子邮件地址
${participant.name}
、参与者姓名
${participant.familyName}
,参与者的姓氏
${participant.id}
,参与者的id
${participant.language}
,参与者语言
${instance.id}
,工作流id
${instance.state}
,工作流状态
${model.title}
,工作流模型的标题
${model.id}
,工作流模型的id
${model.version}
,工作流模型的版本
${payload.data}
,负载
${payload.type}
,有效负载类型
${payload.path}
、有效负载路径
${host.prefix}
,主机前缀,例如:http://localhost:4502
为新语言添加模板:
在CRXDE中,添加下面的文件<language-code>.txt
:
/libs/settings/notification-templates/com.day.cq.wcm.core.page
:用于页面通知/etc/notification/email/default/com.day.cq.collab.forum
:用于论坛通知/libs/settings/workflow/notification/email/default
:用于工作流通知使文件适应语言。
保存更改。
<language-code>
用作电子邮件模板的文件名时,必须是由AEM识别的小写字母语言代码。 对于语言代码,AEM依赖于ISO-639-1。
在AEM Assets中的收藏集进行共享或取消共享时,用户可以从AEM收到电子邮件通知。 要配置电子邮件通知,请执行以下步骤。