[Sitecore CMS]リマインダやパスワード忘れ時に使用するメールサーバーの設定で、Sitecoreのパスワードリカバリとリマインドのメールを送信するするためのWeb.config の設定箇所の記載をしました。

今回は実際にメールを送ってみたときのメモを記載します。

1.パスワードリカバリメールを送ってみる

Web.config の name が以下の場所の setting タグの value に メールサーバー、認証に使用するユーザーとパスワードの設定とポートの設定をしておきます。

  • MailServer
  • MailServerUserName
  • MailServerPassword
  • MailServerPort

サイトコアのログインページで、 パスワードをお忘れですか? のリンクをクリックします。

パスワードリカバリの画面が表示されます。パスワードをリセットしたいユーザーのアカウントを入力して、送信ボタンをクリックします。

ユーザーに設定されたメールアドレスに下図のようなメールが送信されます。 この中で、 メールのSubject と from のアドレスは変更することができます。

メールの件名と送信者のアドレスを変更したい場合は、 Website\sitecore\login\passwordrecovery.aspx をメモ帳などで表示し、下記 Subject, From を任意のテキストとメールアドレスに変更します。

<MailDefinition Priority="High" Subject="Sending Per Your Request" From="someone@example.com" />

下図は Subject を パスワードがリセットされましたに、 From を passwordreset@test.com に変更した場合のリカバリメールの内容になります。

2. リマインダーメールを送ってみる

リマインダメールを送信する場合は、 パスワードリカバリように設定した SMTPサーバーの設定に加えて、appSettings セクションの EmailReminder.FromAddress に Fromのアドレスを設定します。今回は reminder@test.com にしました。

<add key="EmailReminder.FromAddress" value="reminder@test.com"/>

オプションで、次のsettingタグの設定も行えます。件名とサブジェクトの一部になりますので詳細は 対応するタグのコメントを参照してください。

<setting name="Tasks.EmailReminderSubject" value="Reminder from Sitecore"/>
<setting name="Tasks.EmailReminderText" value="This is a reminder from Sitecore regarding the item: '{item}' in the database '{database}'"/>   

準備ができたらリマインドメールを送ってみます。リマインダメールを設定したアイテムをコンテンツエディター上で選択して、 レビュータブ→スケジュール→リマインダー→リマインダーを設定をクリックします。下図のようなウィザードが起動しますので、リマインダーメールの本文に掲載するテキストを入力して Next ボタンをクリックします。

リマインダーメールを送信したい日時と受信者を設定します。 受信者欄には セミコロン区切りで複数のメールアドレスを指定できます。入力が完了したら Set ボタンをクリックします。

Finish ボタンをクリックして画面を閉じます。

リマインダーを設定した時間以降に TaskDatabaseAgent のタスクが動作するとリマインダーのメールが送信されます。下図が受信したメールの例です。 件名と、本文の先頭には それぞれ、 Tasks.EmailReminderSubject と "Tasks.EmailReminderText で設定されたテキストが設定されます。本文の残りの部分は リマインダーを設定したときに入力したテキストが設定されます。

簡単ですが、説明は以上です。 Sitecoreで用意されている メール機能を利用してみました。