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

Messaging クラス

単一メール送信または一括メール送信に使用されるメッセージメソッドが含まれます。

名前空間

System

Messaging のメソッド

Messaging のメソッドは次のとおりです。すべてインスタンスメソッドです。

extractInboundEmail(source, includeForwardedAttachments)

使用しているメールサービスコードでこのメソッドを使用して、転送または添付されたメールの解析および処理方法を制御します。RFC822 形式のデータストリームから Messaging.InboundEmail のインスタンスを返します。このデータストリームには、既存の InboundEmail に転送された、添付ファイル内のメールや、別のソースからのストリームを使用できます。

署名

public static Messaging.InboundEmail extractInboundEmail(Object source, Boolean includeForwardedAttachments)

パラメータ

source
型: Object
MimeTypeSubtype が message/rfc822 または Blob の Messaging.InboundEmail.BinaryAttachment のインスタンス。source が Blob の場合、バイト配列を RFC822 形式で指定します。
includeForwardedAttachments
型: Boolean
このパラメータは、埋め込まれたメールまたは転送されたメールの添付ファイルが処理される方法を制御します。戻り値の binaryAttachments および textAttachments プロパティでの埋め込まれたメールの添付ファイルも含めて、すべての添付ファイルを提供するには、true に設定しますソースメールの最上位の添付ファイルのみを提供するには、false に設定します。

戻り値

型: Messaging.InboundEmail

reserveMassEmailCapacity(amountReserved)

現在のトランザクションがコミットされた後に、指定数のメールアドレスに一括メール送信するためのメール容量を確保します。

署名

public Void reserveMassEmailCapacity(Integer amountReserved)

パラメータ

amountReserved
型: Integer

戻り値

型: Void

使用方法

トランザクションの結果として送信するメールの数を事前に把握している場合は、このメソッドをコールできます。このトランザクションで組織の 1 日あたりのメール送信量の制限を超える場合、このメソッドを使用すると、System.HandledException: The daily limit for the org would be exceeded by this request. というエラーになります。組織に API の送信または一括メール送信の権限がない場合、このメソッドを使用すると、System.NoAccessException: The organization is not permitted to send email. というエラーが発生します。

reserveSingleEmailCapacity(amountReserved)

現在のトランザクションがコミットされた後に、指定数のメールアドレスに単一メール送信するためのメール容量を確保します。

署名

public Void reserveSingleEmailCapacity(Integer amountReserved)

パラメータ

amountReserved
型: Integer

戻り値

型: Void

使用方法

トランザクションの結果として送信するメールの数を事前に把握している場合は、このメソッドをコールできます。このトランザクションで組織の 1 日あたりのメール送信量の制限を超える場合、このメソッドを使用すると、System.HandledException: The daily limit for the org would be exceeded by this request. というエラーになります。組織に API の送信または一括メール送信の権限がない場合、このメソッドを使用すると、System.NoAccessException: The organization is not permitted to send email. というエラーが発生します。

sendEmail(emails, allOrNothing)

SingleEmailMessage または MassEmailMessage のいずれかを使用してインスタンス化するメールオブジェクトのリストを送信し、SendEmailResult オブジェクトのリストを返します。

署名

public Messaging.SendEmailResult[] sendEmail(Messaging.Email[] emails, Boolean allOrNothing)

パラメータ

emails
型: Messaging.Email[]
allOrNothing
型: Boolean

(省略可能) opt_allOrNone パラメータでは、任意のメッセージがエラーで失敗した場合、sendEmail でその他すべてのメッセージの配信を行わない (true) か、エラーのないメッセージの配信を行う (false) かを指定します。デフォルトは true です。

戻り値

型: Messaging.SendEmailResult[]

sendEmailMessage(emailMessageIds, allOrNothing)

指定したメールメッセージ ID で定義されているドラフトメールメッセージを最大 10 件送信し、SendEmailResult オブジェクトのリストを返します。

署名

public Messaging.SendEmailResult[] sendEmailMessage(List <ID> emailMessageIds, Boolean allOrNothing)

パラメータ

emailMessageIds
型: List<ID>
allOrNothing
型: Boolean

戻り値

型: Messaging.SendEmailResult[]

使用方法

sendEmailMessage メソッドは、opt_allOrNone パラメータ (省略可能) は常に false であるとみなし、設定した値を無視します。この省略可能なパラメータでは、任意のメッセージがエラーで失敗した場合、sendEmailMessage でその他すべてのメッセージの配信を行わない (true) か、エラーのないメッセージの配信を行う (false) かを指定します。

この例では、ドラフトメールメッセージを送信する方法を示します。ケースとそのケースに関連付けられた新しいメールメッセージを作成します。次に、ドラフトメールメッセージを送信し、結果を確認します。この例を実行する前に、メールアドレスを有効なアドレスに置き換えていることを確認して��ださい。

1Case c = new Case();
2insert c;
3
4EmailMessage e = new EmailMessage();
5e.parentid = c.id;
6// Set to draft status.
7// This status is required 
8// for sendEmailMessage().
9e.Status = '5'; 
10e.TextBody = 
11  'Sample email message.';
12e.Subject = 'Apex sample';
13e.ToAddress = 'customer@email.com';
14insert e;
15
16List<Messaging.SendEmailResult> 
17  results = 
18  Messaging.sendEmailMessage(new ID[] 
19    { e.id });
20
21System.assertEquals(1, results.size());
22System.assertEquals(true, 
23                    results[0].success);

renderEmailTemplate(whoId, whatId, bodies)

メールテンプレートのテキスト本文の差し込み項目を、Salesforce レコードの値と置き換えます。RenderEmailTemplateBodyResult オブジェクトの配列を返します。各オブジェクトは指定されたテキスト本文配列の要素に対応します。各 RenderEmailTemplateBodyResult には、成功または失敗の結果と共に、エラーコードまたは表示されたテキストが含まれます。

署名

public static List<Messaging.RenderEmailTemplateBodyResult> renderEmailTemplate(String whoId, String whatId, List<String> bodies)

パラメータ

whoId
型: String
データベース内のオブジェクト (通常は取引先責任者、リード、またはユーザ) の識別子。そのオブジェクトのデータベースレコードが参照され、差し込み項目処理で使用されます。
whatId
型: String
取引先や商談など、データベース内のオブジェクトを識別します。そのオブジェクトのレコードが参照され、差し込み項目処理で使用されます。
bodies
型: List<String>
差し込み項目の参照のために調べられる文字列の配列。whoId または whatId で参照されるオブジェクトからの対応するデータで、差し込み項目の参照が置き換えられます。

戻り値

型: List<Messaging.RenderEmailTemplateBodyResult>

使用方法

このメソッドは、テキストブロックを動的に作成し、データベースからのデータで強化する場合に使用します。表示されたテキストブロックを使用して、メールの作成と送信や、別のデータベースレコードのテキスト値の更新を行うことができます。

renderEmailTemplate メソッドの実行は、SOQL のガバナ制限にカウントされます。このメソッドで使用される SOQL クエリの数は、bodies パラメータで渡される文字列のリスト内の要素数です。

renderStoredEmailTemplate(templateId, whoId, whatId)

データベースに存在するテキスト、カスタム、HTML、または Visualforce メールテンプレートを Messaging.SingleEmailMessage インスタンスに表示します。返されたメールメ���セージのすべての添付ファイルの内容が含まれます。

署名

public static Messaging.SingleEmailMessage renderStoredEmailTemplate(String templateId, String whoId, String whatId)

パラメータ

templateId
型: String
データベースに存在するメールテンプレート。テキスト、HTML、カスタム、および Visualforce テンプレートなどです。
whoId
型: String
データベース内のオブジェクト (通常は取引先責任者、リード、またはユーザ) の識別子。そのオブジェクトのデータベースレコードが参照され、差し込み項目処理で使用されます。
whatId
型: String
取引先や商談など、データベース内のオブジェクトを識別します。そのオブジェクトのレコードが参照され、差し込み項目処理で使用されます。

使用方法

renderStoredEmailTemplate メソッドの実行は、1 つのクエリとして SOQL のガバナ制限にカウントされます。

renderStoredEmailTemplate(templateId, whoId, whatId, attachmentRetrievalOption)

データベースに存在するテキスト、カスタム、HTML、または Visualforce メールテンプレートを Messaging.SingleEmailMessage インスタンスに表示します。添付ファイルメタデータのみを含める、添付ファイルメタデータとコンテンツを含める、または添付ファイルを除外するオプションが提供されます。

署名

public static Messaging.SingleEmailMessage renderStoredEmailTemplate(String templateId, String whoId, String whatId, Messaging.AttachmentRetrievalOption attachmentRetrievalOption)

パラメータ

templateId
型: String
データベースに存在するメールテンプレート。テキスト、HTML、カスタム、および Visualforce テンプレートなどです。
whoId
型: String
データベース内のオブジェクト (通常は取引先責任者、リード、またはユーザ) の識別子。そのオブジェクトのデータベースレコードが参照され、差し込み項目処理で使用されます。
whatId
型: String
取引先や商談など、データベース内のオブジェクトを識別します。そのオブジェクトのレコードが参照され、差し込み項目処理で使用されます。
attachmentRetrievalOption
型: Messaging.AttachmentRetrievalOption
返された Messaging.SingleEmailMessagefileAttachments プロパティの添付ファイルを含めるオプションを指定します。添付ファイルメタデータのみを含める、添付ファイルメタデータとコンテンツを含める、または添付ファイルを除外するように Messaging.AttachmentRetrievalOption の値を設定します。

attachmentRetrievalOption パラメータが NONE に設定されていない場合、Messaging.SingleEmailMessageentityAttachments プロパティには添付する Salesforce コンテンツオブジェクト (ContentVersion または Document) の ID が含まれます。fileAttachments プロパティには、entityAttachments プロパティのすべての ID に加えて、添付ファイルの ID が含まれます。その結果、entityAttachments の ID の値は fileAttachments プロパティの ID と重複します。METADATA_WITH_BODY オプションを渡して renderStoredEmailTemplate() をコールし、表示されたメールメッセージを送信すると、メールには重複する添付ファイルが含まれます。sendEmail(emails, allOrNothing) で返されたメールメッセージを使用する前に、entityAttachments で重複する添付ファイルを fileAttachments から削除できます。

メモ

使用方法

renderStoredEmailTemplate メソッドの実行は、1 つのクエリとして SOQL のガバナ制限にカウントされます。

renderStoredEmailTemplate(templateId, whoId, whatId, attachmentRetrievalOption, updateEmailTemplateUsage)

データベースに存在するテキスト、カスタム、HTML、または Visualforce メールテンプレートを Messaging.SingleEmailMessage インスタンスに表示します。添付ファイルメタデータのみを含める、添付ファイルメタデータとコンテンツを含める、または添付ファイルを除外するオプションが提供されます。

署名

public static Messaging.SingleEmailMessage renderStoredEmailTemplate(String templateId, String whoId, String whatId, Messaging.AttachmentRetrievalOption attachmentRetrievalOption, Boolean updateEmailTemplateUsage)

パラメータ

templateId
型: String
データベースに存在するメールテンプレート。テキスト、HTML、カスタム、および Visualforce テンプレートなどです。
whoId
型: String
データベース内のオブジェクト (通常は取引先責任者、リード、またはユーザ) の識別子。そのオブジェクトのデータベースレコードが参照され、差し込み項目処理で使用されます。
whatId
型: String
取引先や商談など、データベース内のオブジェクトを識別します。そのオブジェクトのレコードが参照され、差し込み項目処理で使用されます。
attachmentRetrievalOption
型: Messaging.AttachmentRetrievalOption
返された Messaging.SingleEmailMessagefileAttachments プロパティの添付ファイルを含めるオプションを指定します。添付ファイルメタデータのみを含める、添付ファイルメタデータとコンテンツを含める、または添付ファイルを除外するように Messaging.AttachmentRetrievalOption の値を設定します。

attachmentRetrievalOption パラメータが NONE に設定されていない場合、Messaging.SingleEmailMessageentityAttachments プロパティには添付する Salesforce コンテンツオブジェクト (ContentVersion または Document) の ID が含まれます。fileAttachments プロパティには、entityAttachments プロパティのすべての ID に加えて、添付ファイルの ID が含まれます。その結果、entityAttachments の ID の値は fileAttachments プロパティの ID と重複します。METADATA_WITH_BODY オプションを渡して renderStoredEmailTemplate() をコールし、表示されたメールメッセージを送信すると、メールには重複する添付ファイルが含まれます。sendEmail(emails, allOrNothing) で返されたメールメッセージを使用する前に、entityAttachments で重複する添付ファイルを fileAttachments から削除できます。

メモ

updateEmailTemplateUsage
型: Boolean
表示が成功したときに EmailTemplate レコードの usage 項目が更新されるかどうかを指定します。

使用方法

renderStoredEmailTemplate メソッドの実行は、1 つのクエリとして SOQL のガバナ制限にカウントされます。