この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Visualforce メールテンプレートの作成

Visualforce プログラミング言語を使用してメールテンプレートを作成します。
  1. 次のいずれかの操作を実行します。
    • 公開テンプレートの編集権限がある場合は、[設定] から [クイック検索] ボックスに「メールテンプレート」と入力し、[Classic メールテンプレート] を選択します。
    • 公開テンプレートを編集する権限がない場合は、個人設定に移動します。[クイック検索] ボックスに「テンプレート」と入力し、[メールテンプレート] または [私のテンプレート] の表示された方を選択します。
  2. [新規テンプレート] をクリックします。
  3. [Visualforce] を選択し、[次へ] をクリックします。

    Visualforce メールテンプレートを使用して一括メールを送信することはできません。

  4. テンプレートを保存するフォルダーを選択します。
  5. テンプレートを使用できるようにするには、[有効] チェックボックスをオンにします。
  6. [メールテンプレート名] に名前を入力します。
  7. 必要に応じて、[テンプレートの一意の名前] を変更します。この一意の名前は、Lightning プラットフォーム API の使用時にコンポーネントを参照します。管理パッケージでは、この一意の名前により、パッケージのインストール時に名前が競合することを防ぎます。この名前は、アンダースコアと英数字のみを使用でき、組織内で一意にする必要があります。最初は文字であること、空白は使用しない、最後にアンダースコアを使用しない、2 つ続けてアンダースコアを使用しないという制約があります。[テンプレートの一意の名前] 項目を使用すると、管理パッケージで特定のコンポーネント名を変更できます。この変更は、登録者の組織に反映されます。
  8. 必要に応じて、[文字コード] ドロップダウンリストから別の文字セットを選択します。
  9. テンプレートの説明を入力します。テンプレートの名前と説明は、内部的にのみ使用されます。
  10. [メール件名] にテンプレートの件名を入力します。
  11. [受信者種別] ドロップダウンリストで、テンプレートから作成されたメールを受け取る受信者の種別を選択します。
  12. 必要に応じて、[関連先種別] ドロップダウンリストで、どのオブジェクトからテンプレートが差し込み項目データを取得するかを選択します。
  13. [保存] をクリックします。
  14. [Salesforce Classic でのメールテンプレートの表示および編集] ページで、[テンプレートを編集] をクリックします。
  15. [テンプレートの編集] をクリックし、Visualforce メールテンプレートのマークアップテキストを入力します。

    画像を含める場合は、サーバー上にある画像のコピーを参照するように [ドキュメント] タブに画像をアップロードすることをお勧めします。次に例を示します。

    1<apex:image id="Logo" value="https://yourInstance.salesforce.com/servlet/servlet.ImageServer?
    2id=015D0000000Dpwc&oid=00DD0000000FHaG&lastMod=127057656800" />

    メモ

  16. このメールテンプレートで使用する Visualforce および API のバージョンを指定するには、[バージョン設定] をクリックします。AppExchange の管理パッケージをインストールしている場合は、このメールテンプレートで使用する各管理パッケージのバージョンも指定できます。通常、すべてのバージョンにデフォルト値を使用します。デフォルトでは、メールテンプレートは Visualforce、API、および各管理パッケージの最新のバージョンに関連付けられます。特定の動作を維持するには、Visualforce および API の古いバージョンを指定できます。最新のパッケージバージョンと異なるコンポーネントや機能にアクセスするために、管理パッケージの古いバージョンを指定できます。
  17. テンプレートの詳細を表示するには、[保存] をクリックします。テンプレートの編集を続行するには、[適用] をクリックします。テンプレートを保存するには、Visualforce マークアップが有効になっている必要があります。

    Visualforce メールテンプレートの最大サイズは、1 MB です。

    Visualforce メールテンプレートを使用して一括メールを送信することはできません。差し込み項目の {!Receiving_User.field_name}{!Sending_User.field_name} は、一括メールとリストメールでのみ機能し、Visualforce メールテンプレートでは使用できません。

    メモ

この例は、取引先責任者に関連付けられたすべてのケースを表示する Visualforce メールテンプレートの定義方法を示します。この例では、<apex:repeat> タグを使用して取引先責任者に関連するすべてのケースを反復処理し、テンプレートの本文に取り込みます。
1<messaging:emailTemplate recipientType="Contact"
2				relatedToType="Account"
3				subject="Case report for Account: {!relatedTo.name}"
4				language="{!recipient.language__c}"
5				replyTo="support@acme.com">
6			
7				<messaging:htmlEmailBody>
8					<html>
9						<body>
10			
11						<p>Dear {!recipient.name},</p>
12						<p>Below is a list of cases related to {!relatedTo.name}.</p>
13						<table border="0" >
14							<tr>
15								<th>Case Number</th><th>Origin</th>
16								<th>Creator Email</th><th>Status</th>
17							</tr>
18							<apex:repeat var="cx" value="{!relatedTo.Cases}">
19							<tr>
20								<td><a href = 
21									"https://yourInstance.salesforce.com/{!cx.id}">{!cx.CaseNumber}
22								</a></td>
23								<td>{!cx.Origin}</td>
24								<td>{!cx.Contact.email}</td>
25								<td>{!cx.Status}</td>
26							</tr>
27							</apex:repeat> 
28						</table>
29						<p/>
30						<center>
31							<apex:outputLink value="https://salesforce.com">
32								For more detailed information login to Salesforce.com
33							</apex:outputLink>
34						</center>
35						</body>
36					</html>
37				</messaging:htmlEmailBody>
38			</messaging:emailTemplate>

このマークアップでは、次の点に留意してください。

  • 属性 recipientTyperelatedToType は、メールテンプレートのコントローラーとして機能します。これらを使用して、他の標準コントローラーで使用できるものと同じ差し込み項目にアクセスできます。recipientType 属性は、メールの受信者を表します。relatedToType 属性は、メールに関連付けるレコードを表します。
  • <messaging:htmlEmailBody> コンポーネントには、Visualforce マークアップと HTML を両方とも含めることができます。<messaging:plainTextEmailBody> コンポーネントには、Visualforce マークアップとプレーンテキストのみを含めることができます。
  • 受信者または関連オブジェクトの言語に基づいて Visualforce メールテンプレートを翻訳するには、<messaging:emailTemplate> タグの language 属性を使用します (有効な値は、「en-US」などの Salesforce でサポートされている言語キー)。言語属性は、メールテンプレートの recipientType および relatedToType 属性の差し込み項目を受け取ります。差し込み項目で使用するカスタム言語項目を作成します。

    メールテンプレートの翻訳には、トランスレーションワークベンチが必要です。

    メモ

    この例では、差し込み項目を使用して、メールを受信する取引先責任者の language 属性を取得します。