カスタム処理を利用して、コンテンツ追加時にメールを送信する

カスタム処理を使用して、特定の処理の途中で独自の処理を実行する方法を解説します。 この機能を利用すると、標準機能以外でのタイミングで通知を送信したりデータ登録ができます。

今回は、新しくコンテンツが追加された時にメールで通知をする処理を実装します。

カスタム処理を作成する

それではカスタム処理を作成します。

1. カスタム処理の一覧画面を表示する

メニューの[オペレーション] -> [カスタム処理] をクリックします。 Image from Gyazo

2. カスタム処理の編集画面を表示する

カスタム処理一覧画面の右上の [追加] をクリックします。

Image from Gyazo

すると、カスタム処理編集画面が表示されます。

Image from Gyazo

3. タイトル・識別子を記入する

それではカスタム処理を作成していきます。
まずはタイトルと識別子に記入します。今回は下記のように記入します。

  • タイトル:コンテンツ投稿後にメールを送信する
  • 識別子:sample1_trigger

タイトル・識別子は他のカスタム処理と重複できません。 実装対象のエンドポイント名など、他と重複しない内容で記入してください。

Image from Gyazo

4. これを使ったコンポーネントを記入する

次にカスタム処理を使ったコンポーネントを記入します。
今回は下記のように記入します。

  • トリガー:コンテンツの追加後
  • テキストフィールド:19

Image from Gyazo

テキストフィールドには「19」と記入していますが、こちらにはコンテンツ定義の「グループID」を記入します。 今回はコンテンツ定義を作成するにて作成した「お知らせ」コンテンツの追加後にメールを送るため「19」を記入しておりますが、こちらはご自身の環境により修正をお願いします。

参考: コンテンツ定義一覧画面
グループIDは、コンテンツ定義一覧画面で確認できます。

Image from Gyazo

5. メール送信処理を記述する

次に、メール送信処理を記述します。

エディタ内にメール送信処理を記述していきます。 Image from Gyazo

メールを作成する処理を実装する
まずは、メールタイトル・本文を作成します。

利用できる変数は下記となります。

変数名説明
$topicsDataobjectコンテンツデータ

エディタに下記記入します。

{* タイトル *}
{assign var=mail_subject value=$topicsData.subject}
{* 本文 *}
{capture name=mail_body}
お知らせが追加されました。

詳細はこちらから確認してください。
{$smarty.const.ROOT_MNG_URL}/management/topics/topics_edit/?topics_id={$topicsData.topics_id}
{/capture}
{assign var=mail_body value=$smarty.capture.mail_body}

Image from Gyazo

メールを送信する処理を実装する
次にメールを送信する処理を作成します。 エディタに下記を追記します。

{sendmail 
 to='YOUR_MAIL_ADDRESS@example.com'
 subject=$mail_subject
 contents=$mail_body}

YOUR_MAIL_ADDRESS@example.com には送信先のメールアドレスを記入してください。

Image from Gyazo

6. カスタム処理を保存する

処理の記述が完了したら、[追加する] ボタンをクリックして保存します。

Image from Gyazo

以上でカスタム処理の完成です。

メール送信の確認

作成したカスタム処理の動作を確認します。
設定したコンテンツ定義(今回の場合グループIDが19のコンテンツ定義)より、[追加]をクリックします。

Image from Gyazo

コンテンツ内容を記入し、[追加する]をクリックします。 Image from Gyazo

すると、カスタム処理に記載したメールアドレスへメールが届きます。 Image (fetched from Gyazo)

以上です。

メールが送信されない場合の確認ポイント

メールがうまく送信されない場合、下記ドキュメントをご参照ください。

注意点

呼び出し元が重複するカスタム処理を作成できません。 今回の場合、呼び出し元では下記を設定しております。

  • トリガー:コンテンツの追加後
  • テキストフィールド:19

そのため、別のカスタム処理で上記の呼び出し元を利用できませんのでご注意ください。

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。