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

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

Visualforce メールテンプレートを作成する手順は、次のとおりです。
  1. 次のいずれかの操作を実行します。
    • 公開テンプレートを編集する権限がある場合は、[設定] で [コミュニケーションテンプレート] | [メールテンプレート] をクリックします。
    • 公開テンプレートを編集する権限がない場合は、任意の Salesforce ページ上部で、名前の横にある下向き矢印をクリックします。名前の下にあるメニューで、[設定] または [私の設定] のどちらか表示される方を選択します。次に、ページの左側で [メール] | [私のテンプレート] をクリックします。
  2. [新規テンプレート] をクリックします。
  3. [Visualforce] を選択し、[次へ] をクリックします。

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

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

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

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

    メモ

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

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

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

    メモ

次の例は、取引先責任者に関連付けられたすべてのケースを表示する Visualforce メールテンプレートの定義方法を示します。この例では、<apex:repeat> タグを使用して取引先責任者に関連するすべてのケースを反復処理し、テンプレートの本文に取り込みます。
1swfobject.registerObject("clippy.codeblock-1", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<messaging:emailTemplate recipientType="Contact"
18	relatedToType="Account"
19	subject="Case report for Account: {!relatedTo.name}"
20	language="{!recipient.language__c}"
21	replyTo="support@acme.com">
22
23	<messaging:htmlEmailBody>
24		<html>
25			<body>
26
27			<p>Dear {!recipient.name},</p>
28			<p>Below is a list of cases related to {!relatedTo.name}.</p>
29			<table border="0" >
30				<tr>
31					<th>Case Number</th><th>Origin</th>
32					<th>Creator Email</th><th>Status</th>
33				</tr>
34				<apex:repeat var="cx" value="{!relatedTo.Cases}">
35				<tr>
36					<td><a href = 
37						"https://na1.salesforce.com/{!cx.id}">{!cx.CaseNumber}
38					</a></td>
39					<td>{!cx.Origin}</td>
40					<td>{!cx.Contact.email}</td>
41					<td>{!cx.Status}</td>
42				</tr>
43				</apex:repeat> 
44			</table>
45			<p/>
46			<center>
47				<apex:outputLink value="http://www.salesforce.com">
48					For more detailed information login to Salesforce.com
49				</apex:outputLink>
50			</center>
51			</body>
52		</html>
53	</messaging:htmlEmailBody>
54</messaging:emailTemplate>
このマークアップでは、次の点に留意してください。
  • 属性 recipientTyperelatedToType は、メールテンプレートのコントローラとして機能します。これらを使用して、他の標準コントローラで使用できるものと同じ差し込み項目にアクセスできます。recipientType 属性は、メールの受信者を表します。relatedToType 属性は、メールに関連付けるレコードを表します。
  • <messaging:htmlEmailBody> コンポーネントには、Visualforce マークアップと HTML を両方とも含めることができます。<messaging:plainTextEmailBody> コンポーネントには、Visualforce マークアップとプレーンテキストのみを含めることができます。
  • 受信者または関連オブジェクトの言語に基づいて Visualforce メールテンプレートを翻訳するには、<messaging:emailTemplate> タグの language 属性を使用します (有効な値は、「en-US」などの Salesforce サポート言語キー)。言語属性は、メールテンプレートの recipientType および relatedToType 属性の差し込み項目を受け取ります。差し込み項目で使用するカスタム言語項目を作成します。メールテンプレートの翻訳には、トランスレーションワークベンチが必要です。この例では、差し込み項目を使用して、メールを受信する取引先責任者の language 属性を取得します。