AEM は、次のようなユーザーに電子メール通知を送信します。
変更やレプリケーションなど、ページイベントを購読したことがある。通知インボックスでは、このようなイベントを購読する方法について説明します。
フォーラムイベントを購読したことがある
ワークフローで手順を実行する必要がある。参加者ステップでは、ワークフローで電子メール通知を実行する方法について説明します。
前提条件:
ユーザーへの通知は、各自がプロファイルで定義している言語の電子メールで送信されます。言語ごとに、独自のカスタマイズ可能なテンプレートがあります。新しい言語用には新しい電子メールテンプレートを追加できます。
AEM を操作しているときは、このようなサービスの設定を管理する方法がいくつかあります。詳細および推奨事項については、OSGi の設定を参照してください。
AEM で電子メールを送信できるようにするために、Day CQ Mail Service を適切に設定する必要があります。設定は、Web コンソールで表示できます。AEM を操作しているときは、このようなサービスの設定を管理する方法がいくつかあります。詳細および推奨事項については、OSGi の設定を参照してください。
以下の制約が適用されます。
SMTP サーバーポートは 25 以上にする必要があります。
SMTPサーバーのホスト名は空白にできません。
「送信元」アドレスは空白にしてはなりません。
Day CQ Mail Service の問題をデバッグしやすくするために、サービスのログを監視できます。
com.day.cq.mailer.DefaultMailService
設定は、Web コンソールに次のように表示されます。
ページまたはフォーラムのイベント通知を購読するとき、送信元の電子メールアドレスは、デフォルトで no-reply@acme.com
に設定されます。この値は、Web コンソールで Notification Email Channel サービスを設定することで変更できます。
送信元の電子メールアドレスを設定するには、リポジトリにsling:OsgiConfig
ノードを追加します。 CRXDE Liteを使用してノードを直接追加するには、次の手順を実行します。
CRXDE Lite で、config
という名前のノードを、アプリケーションフォルダーの下に追加します。
configフォルダーに、次の名前のノードを追加します。
com.day.cq.wcm.notification.email.impl.EmailChannel
タイプ sling:OsgiConfig
追加email.from
という名前のノードのString
プロパティ。 値には、使用する電子メールアドレスを指定します。
「すべて保存」をクリックします。
次の手順を使用して、コンテンツパッケージソースフォルダーでノードを定義します。
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 Workflow Email Notification Service を設定することによって変更できます。その場合は、変更をリポジトリに保持することをお勧めします。
デフォルト設定は、Web コンソールに次のように表示されます。
ページ通知用の電子メールテンプレートは次の場所にあります。
/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.
ページ通知用の英語の電子メールテンプレートをカスタマイズするには:
CRXDEで、次のファイルを開きます。
/etc/notification/email/default/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}
、フォーラムページへのパス。
ワークフロー通知用の電子メールテンプレート(英語)は次の場所にあります。
/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.
ワークフローイベント通知用の英語の電子メールテンプレートをカスタマイズするには:
CRXDEで、次のファイルを開きます。
/etc/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() メソッドの javadocs を参照してください。
メソッド${payload.path.open}
は、作業項目のペイロードへのパスを明らかにします。 例えば、Sitesのページの場合、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
ファイルを追加します。
/etc/notification/email/default/com.day.cq.wcm.core.page
:ページ通知/etc/notification/email/default/com.day.cq.collab.forum
:フォーラム通知/etc/workflow/notification/email/default
:ワークフロー通知言語に合わせてファイルを調整します。
変更内容を保存します。
電子メールテンプレートのファイル名として使用する<language-code>
は、AEMで認識される小文字の2文字の言語コードである必要があります。 言語コードについては、AEM は ISO-639-1 に依存しています。
AEM Assets のコレクションが共有されている場合も共有されていない場合も、AEM から電子メール通知を受信できます。電子メール通知を設定するには、次の手順に従います。