sendEmailMessage()
構文
Enterprise SOAP:
1SendEmailResult[] = connection.sendEmailMessage( String[] draftEmailIds);Partner SOAP:
1SendEmailResult[] = connection.sendEmailMessage( ID[] draftEmailIds);使用方法
このコールは、Force.com AppExchange アプリケーション、カスタムアプリケーションなどの、Salesforce 以外のアプリケーションで、最大 10 個のドラフトメールメッセージの送信を行う場合に使用します。メッセージでは標準的なメール属性 (件名行、BCC など) を含めることができ、Salesforce のメールテンプレートを使用することが可能です。平文テキストのほか HTML 形式もサポートされています。HTML メールの状況は、Salesforce を使って追跡できます。送信日、メールが最初に開かれた日、最後に開かれた日、開かれた回数などを確認できます (詳細は、Salesforce オンラインヘルプの「HTML メールの追跡」を参照してください)。
ログインユーザのメールアドレスは、メールヘッダーの [送信元アドレス] 項目に挿入されます。不在の返信も含め、返ってきたメールはすべてログインユーザに送信されます。不達管理が有効で、SingleEmailMessage.targetObjectId または MassEmailMessage.targetObjectIds が設定されている場合、不達は Salesforce によって自動的に処理され、該当するレコードが更新されます。それ以外の場合は、ログインユーザに送信されます。不達管理は取引先責任者とリードにのみ機能します。
サンプルコード — Java
このサンプルでは、ケースおよびドラフトメールメッセージを作成して、From、To、CC、BCC の各受信者、件名、本文テキストを含むメッセージ項目を設定します。また、添付ファイルを作成し、添付ファイルを含むメールメッセージを送信します。最後に、状況メッセージまたはエラーメッセージがある場合はコンソールに書き込みます。
1public void doSendEmail() {
2 try {
3 //Create a case
4 Case theCase = new Case();
5 theCase.setSubject("Sample Case");
6 SaveResult[] saveResult = connection.create(new SObject[] { theCase });
7 String caseId = saveResult[0].getId();
8
9 //Create a draft EmailMessage
10 EmailMessage message = new EmailMessage();
11 message.setParentId(theCase.getId());
12 message.setBccAddress("bcc@email.com");
13 message.setCcAddress("cc1@salesforce.com; cc2@email.com");
14 message.setSubject("This is how you use the sendEmailMessage method.");
15 message.setFromAddress("from@email.com");
16 message.setFromName("Sample Code");
17 message.setTextBody("This is the text body of the message.");
18 message.setStatus("5"); //"5" means Draft
19 message.setToAddress("to@email.com");
20 saveResult = connection.create(new SObject[] { message });
21 String emailMessageId = saveResult[0].getId();
22
23 //Create an attachment for the draft EmailMessage
24 Attachment att = new Attachment();
25 byte[] fileBody = new byte[1000000];
26 att.setBody(fileBody);
27 att.setName("attachment");
28 att.setParentId(emailMessageId);
29 connection.create(new SObject[] { att });
30
31 //Send the draft EmailMessage
32 SendEmailResult[] results = connection.sendEmailMessage(messages);
33 if (results[0].isSuccess()) {
34 System.out.println("The email was sent successfully.");
35 } else {
36 System.out.println("The email failed to send: " +
37 results[0].getErrors()[0].getMessage());
38 }
39 } catch (ConnectionException ce) {
40 ce.printStackTrace();
41 }引数
なし。