配置电子邮件通知

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以表示节点:

    <?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. email.from属性(name@server.com)的值替换为您的电子邮件地址。

  4. 保存文件。

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

当您收到工作流电子邮件通知时,发件人电子邮件地址和主机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() 🔗方法的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。 选择​发送电子邮件。 单击​保存

On this page

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now