配置电子邮件通知

AEM向用户发送电子邮件通知:

  • 已订阅页面事件,例如修改或复制。 通知收件箱部分介绍如何订阅此类事件。

  • 已订阅论坛事件。

  • 必须在工作流中执行一个步骤。 参与者步骤部分介绍如何在工作流中触发电子邮件通知。

先决条件:

  • 用户需要在其用户档案中定义有效的电子邮件地址。
  • Day CQ邮件服务​需要正确配置。

当用户收到通知时,他会收到一封电子邮件,其语言在用户档案中定义。 每种语言都有其自己的可自定义的模板。 可以为新语言添加新的电子邮件模板。

注意

与AEM合作时,有多种方法管理此类服务的配置设置;请参阅配置OSGi以了解更多详细信息和建议的做法。

配置邮件服务

要使AEM能够发送电子邮件,Day CQ邮件服务​需要正确配置。 您可以在Web控制台中视图配置。 与AEM合作时,有多种方法管理此类服务的配置设置;请参阅配置OSGi以了解更多详细信息和建议的做法。

以下约束适用:

  • SMTP服务器端口​必须为25或更高。

  • SMTP服务器主机名​不能为空。

  • "From"地址​不能为空。

为了帮助您调试​Day CQ邮件服务​的问题,您可以观看服务日志:

com.day.cq.mailer.DefaultMailService

配置在Web控制台中如下所示:

chlimage_1-276

配置电子邮件通知渠道

当您订阅页面或论坛事件通知时,默认情况下,发件人电子邮件地址将设置为no-reply@acme.com。 您可以通过在Web控制台中配置​通知电子邮件渠道​服务来更改此值。

要配置发件人电子邮件地址,请向存储库添加sling:OsgiConfig节点。 请按照以下过程,直接使用CRXDE Lite添加节点:

  1. 在CRXDE Lite中,在应用程序文件夹下添加一个名为config的文件夹。

  2. 在config文件夹中,添加一个名为:

    com.day.cq.wcm.notification.email.impl.EmailChannel 类型 sling:OsgiConfig

  3. 向名为email.from的节点添加String属性。 对于该值,指定要使用的电子邮件地址。

  4. 单击​保存全部

请按照以下过程定义内容包源文件夹中的节点:

  1. jcr_root/apps/*app_name*/config folder中,创建一个名为com.day.cq.wcm.notification.email.impl.EmailChannel.xml的文件

  2. 添加以下XML以表示节点:

    ` <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”/%3E%601.%20%E5%B0%86%60email.from%60%E5%B1%9E%E6%80%A7(%60name@server.com%60?lang=zh-Hans)的值替换为您的电子邮件地址。

  3. 保存文件。

配置工作流电子邮件通知服务

当您收到工作流电子邮件通知时,发件人电子邮件地址和主机URL前缀均设置为默认值。 您可以通过在Web控制台中配置​Day CQ Workflow电子邮件通知服务​来更改这些值。 如果这样做,建议保留存储库中的更改。

默认配置在Web控制台中如下所示:

chlimage_1-277

页面通知的电子邮件模板

页面通知的电子邮件模板位于以下位置:

/etc/notification/email/default/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.

自定义页面通知的电子邮件模板

为页面通知自定义英语电子邮件模板:

  1. 在CRXDE中,打开文件:

    /etc/notification/email/default/com.day.cq.wcm.core.page/en.txt

  2. 根据需要修改文件。

  3. 保存更改。

模板需要具有以下格式:

 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/cn/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.

自定义论坛通知的电子邮件模板

要自定义论坛通知的英语电子邮件模板,请执行以下操作:

  1. 在CRXDE中,打开文件:

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

  2. 根据需要修改文件。

  3. 保存更改。

模板需要具有以下格式:

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

其中<text_x>可以是静态文本和动态字符串变量的混合。

以下变量可在论坛通知的电子邮件模板中使用:

  • ${time}、事件日期和时间。

  • ${forum.path}, the path to the forum page.

工作流通知的电子邮件模板

工作流通知的电子邮件模板(英语)位于:

/etc/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.

自定义工作流通知的电子邮件模板

要自定义工作流事件通知的英语电子邮件模板,请执行以下操作:

  1. 在CRXDE中,打开文件:

    /etc/workflow/notification/email/default/en.txt

  2. 根据需要修改文件。

  3. 保存更改。

模板需要具有以下格式:

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

其中<text_x>可以是静态文本和动态字符串变量的混合。 <text_x>项的每行都需要用反斜杠(\)结束,但最后一个实例除外,因为缺少反斜杠表示<text_x>字符串变量的结尾。

有关模板格式的详细信息,请参阅Properties.load()](https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html#load-java.io.InputStream-)方法的[javadocs。

方法${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}, workflow id

  • ${instance.state}, the workflow state

  • ${model.title},工作流模型的标题

  • ${model.id},工作流模型的id

  • ${model.version},工作流模型的版本

  • ${payload.data}、有效负荷

  • ${payload.type}、有效负荷类型

  • ${payload.path},有效负荷的路径

  • ${host.prefix},主机前缀,例如:http://localhost:4502

为新语言添加电子邮件模板

为新语言添加模板:

  1. 在CRXDE中,添加以下文件<language-code>.txt:

    • /etc/notification/email/default/com.day.cq.wcm.core.page :适用于页面通知
    • /etc/notification/email/default/com.day.cq.collab.forum :论坛通知
    • /etc/workflow/notification/email/default :工作流通知
  2. 使文件适应语言。

  3. 保存更改。

注意

用作电子邮件模板文件名的<language-code>必须是由AEM识别的小写字母语言代码。 对于语言代码,AEM依赖于ISO-639-1。

配置AEM Assets电子邮件通知

当AEM Assets的集合被共享或取消共享时,用户可以收到AEM发送的电子邮件通知。 要配置电子邮件通知,请按照以下步骤操作。

  1. 按照上面的配置邮件服务中所述配置电子邮件服务。
  2. 以管理员身份登录AEM。 单击​工具 > 操作 > Web控制台​以打开Web控制台配置。
  3. 编辑​Day CQ DAM资源集合Servlet。 选择​发送电子邮件。 单击​保存

在此页面上