クイックアクションとしてのメールの作成

カスタムコンポーネントのボタンから、コンテンツが事前に入力されたメールコンポーザを起動します。項目値が事前に入力されたメールドラフトを開く、QuickAction (Global) Send Email (QuickAction (グローバル) のメールの送信) アクションを作成するには、lightning-navigation および lightning-page-reference-utils コンポーネントを使用します。

コンポーネントの HTML ファイルで、ナビゲーションサービスを lightning-navigation に、ページの参照ユーティリティを lightning-page-reference-utils に、アクションボタンを lightning-button に定義します。

この例では、クリック時に handleClick 関数がトリガされ、メールコンポーザに件名と本文テキストが事前入力されます。

メールコンポーザにデフォルトのテキストを含めるには、encodeDefaultFieldValues 関数を使用します。fieldOverride のペイロードに渡したページの参照の defaultFieldValues 属性に結果を追加します。コンポーネントからの入力をメールに反映するには、encodeDefaultFieldValues 関数に項目の値を渡します。

[メールを送信] グローバルアクションのレイアウトで、encodeDefaultFieldValues 関数で指定した項目が読み取り専用でないことを確認します。この例で、[HTML 内容] と [件名] 項目が読み取り専用になっている場合、メールドラフトにはこれらの項目にテキストは自動入力されません。

イベントハンドラをトリガするボタンを HTML ファイルに追加します。

1<div>
2  <lightning-button
3    variant="neutral"
4    label="Send an Email"
5    onclick={handleClick}>
6  </lightning-button>
7</div>

次に、イベントハンドラを追加します。

1import { LightningElement } from "lwc";
2import { NavigationMixin } from "lightning/navigation";
3import { encodeDefaultFieldValues } from "lightning/pageReferenceUtils";
4
5export default class EmailQuickAction2 extends NavigationMixin(LightningElement) {
6  handleClick() {
7    var pageRef = {
8      type: "standard__quickAction",
9      attributes: {
10        apiName: "Global.SendEmail",
11      },
12      state: {
13        recordId: "00QB000000BLjUrMAL",
14        defaultFieldValues: encodeDefaultFieldValues({
15          HtmlBody: "Pre-populated text for the email body.",
16          Subject: "Pre-populated Subject of the Email",
17        }),
18      },
19    };
20
21    this[NavigationMixin.Navigate](pageRef);
22  }
23}

The Japanese Summer '24 guide is now live

日本語の Summer '24 ガイドが公開されました! 「Component Reference (コンポーネントリファレンス)」は、以前と同様にコンポーネントライブラリにあります。