この文章は 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 オブジェクトのリストを返します。組織設定で EmailMessage オブジェクトを保存するように設定されていて、EmailMessage オブジェクトに対してトリガが定義されている場合は、各 SingleEmailMessage オブジェクトに対して個別にトリガが起動されます。sendEmail メソッドは、Apex トランザクションごとに 10 回コールでき、各メソッド呼び出しには、最大 100 人の「To」受信者、25 人の「Cc」受信者、および 25 人の「Bcc」受信者を含めることができます。

署名

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 で定義されているドラフトメールメッセージを送信し、SendEmailResult オブジェクトのリストを返します。

署名

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

パラメータ

emailMessageIds
型: List<ID>
allOrNothing
型: Boolean

戻り値

型: Messaging.SendEmailResult[]

emailMessageIds パラメータが null の場合は、System.IllegalArgumentException 例外が発生します。

使用方法

sendEmailMessage メソッドは、allOrNothing パラメータ (省略可能) は常に 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);

バージョン管理動作の変更

API バージョン 54.0 以降、emailMessageIds パラメータが null の場合は、System.IllegalArgumentException 例外が発生します。API バージョン 53.0 以前では、emailMessageIds パラメータが null の場合、エラーが発生します。

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 のガバナ制限に含まれます。