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

送信メール

Apex を使用して、Salesforce から送信されたメールを操作します。
個別メール送信または一括メール送信に Apex を使用することができます。メールには、件名、BCC アドレスなど標準的なメールの属性をすべて含めることができます。Salesforce メールテンプレートを使用することが可能で、平文テキスト、HTML 形式または Visualforce で生成されたテンプレートのいずれかを選択できます。

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

メモ

Salesforce を使用し、メールが送られた日付、最初に開かれた日付と最後に開かれた日付、開かれた合計回数など HTML 形式のメールの状況を追跡できます。

個別メール送信または一括メール送信に Apex を使用するには、次のクラスを使用します。
SingleEmailMessage
単一のメールメッセージの送信に使用されるメールオブジェクトをインスタンス化します。構文は次のとおりです。
MassEmailMessage
メールメッセージの一括メール送信に使用されるメールオブジェクトをインスタンス化します。構文は次のとおりです。
Messaging
静的な sendEmail メソッドを含みます。このメソッドでは、SingleEmailMessage クラスまたは MassEmailMessage クラスのいずれかを使用してインスタンス化するメールオブジェクトを送信し、SendEmailResult オブジェクトを返します。

メールを送信する構文は次のとおりです。

EmailMessaging.SingleEmailMessage または Messaging.MassEmailMessage のいずれかとなります。

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

静的な reserveMassEmailCapacity メソッドおよび reserveSingleEmailCapacity メソッドを含みます。これらのメソッドはメールを送信する前にコールし、トランザクションをコミットしてメールを送信するときに、送信する組織の 1 日あたりのメール送信量の制限を超えていないことを確認します。構文は次のとおりです。

および

ここで、count はメールの送信先アドレスの総数を示します。

次の点に注意してください。
  • Apex トランザクションがコミットされるまでメールは送信されません。
  • sendEmail メソッドをコールしているユーザのメールアドレスは、メールヘッダーの [送信元アドレス] ��目に挿入されます。返信されたメール、不達メールおよび外出中の自動返信メールは、このメソッドをコールしているユーザに送信されます。
  • トランザクションあたり最大 10 個の sendEmail メソッド。Limits メソッドを使用して、トランザクション内の sendEmail メソッドの数を確認します。
  • sendEmail メソッドで送信される単一のメールメッセージは、送信する組織の 1 日の単一メール制限にカウントされます。この制限値に達すると、SingleEmailMessage を使用する sendEmail メソッドへのコールは拒否され、ユーザは SINGLE_EMAIL_LIMIT_EXCEEDED エラーコードを受信します。ただし、Salesforce アプリケーションを通して送られた単一メールは許可されます。
  • sendEmail メソッドで送信される一括メールメッセージは、送信する組織の 1 日の一括メール制限にカウントされます。この制限値に達すると、MassEmailMessage を使用する sendEmail メソッドへのコールは拒否され、ユーザは MASS_MAIL_LIMIT_EXCEEDED エラーコードを受信します。
  • SendEmailResult オブジェクトで返されるすべてのエラーは、メールが送信されなかったことを表します。

Messaging.SingleEmailMessage には setOrgWideEmailAddressId というメソッドがあります。OrgWideEmailAddress オブジェクトのオブジェクト ID を受け取ります。setOrgWideEmailAddressId に有効な ID が渡されると、OrgWideEmailAddress.DisplayName 項目が、ログインユーザの [表示名] ではなく、メールヘッダーに使用されます。ヘッダーの送信メールアドレスも、OrgWideEmailAddress.Address で定義された項目に設定されます。

OrgWideEmailAddress.DisplayName および setSenderDisplayName の両方が定義されると、DUPLICATE_SENDER_DISPLAY_NAME エラーが発生します。

メモ

詳細は、Salesforce オンラインヘルプの「組織のメールアドレス」を参照してください。