Logo
メール
API 経由でメールを送信する

APIによるメール送信

顧客にメールを送信する別の方法として、メールAPI (opens in a new tab) も使用できます。

前提条件

NTT CPaaS でメールを送信するには、ドメインが NTT CPaaS システムで アクティブ である必要があります。 NTT CPaaS アカウントの (opens in a new tab) ユーザープロファイル でメールドメインを確認します。

電子メール メッセージの送信

1 つの宛先への単純な 1 つのメッセージの送信や、1 つの API 要求で多数の受信者へのパーソナライズされたメッセージのバッチ送信など、電子メール メッセージを送信するには、 電子メール メッセージの送信 (opens in a new tab) API を使用します。

フル機能のメール

フル機能のメールは、1つ以上の宛先アドレスに、添付ファイル付きの1つ以上のメールメッセージを送信する時に使用します。詳細については、フル機能のメールの送信 (opens in a new tab)に関するリファレンスドキュメントをご参照ください。

複数の受信者にメールを送信する

リクエストに複数のtoパラメータを含めることで、同じメールを複数の受信者アドレスに送信します。

複数の添付ファイルを含むメールを送信する

複数の添付ファイルを含むメールを送信するには、リクエストに複数の添付ファイルパラメーターを追加します。

複数の To、Cc、Bcc 受信者に電子メールを送信する

リクエストに複数の toccbcc パラメーターを含めることで、同じメールを複数の受信者アドレスに送信できます。

curl

    curl -s --user user:password \
    https://./3/send \
    -F from='Jane Smith ' \
    -F to='john.smith@somedomain.com' \
    -F to='jane.smith@somedomain.com' \
    -F cc='juliet.smith@somedomain.com' \
    -F cc='abram.smith@somedomain.com' \
    -F bcc='joy.smith@somedomain.com' \
    -F bcc='clare.smith@somedomain.com' \
    -F subject='Mail subject text' \
    -F text='Mail body text' \
    --form-string html='Html bodyRich HTML message body.' \
    -F attachment=@files/image1.jpg

パーソナライズされたメールをテンプレートを使って送信

リクエストの to パラメーター内にプレースホルダー値を追加して、パーソナライズされたメールを送信します。事前に定義されたテンプレートを使ってメッセージを送信する場合は、テンプレート識別子の値を templateIdパラメーターに渡します。テンプレートを管理するには、NTT CPaaSのWebインターフェイスに ログイン (opens in a new tab)します。

IP プール ID を含む電子メールの送信

IP プールを選択すると、すべての部門が同じ送信ドメインを使用している場合でも、部門固有の IP プールを介して電子メールを送信できます。このアプローチは、配信品質、運用、およびコンプライアンス上の利点を提供します。

複数の部門が IP プールを共有する場合、送信レピュテーションも共有されます。1 つの部門の送信プラクティスがその評判を損なうと、他のすべての部門に影響を与える可能性があります。各部門を独自の IP プールに割り当てることで、個々のレピュテーションを分離して保護できます。

送信に特定の IP プールを使用するには、 電子メール メッセージの送信 (opens in a new tab) API への要求に ipPoolId パラメーターを含めます。

カスタムmessageIDでメールを送信

リクエストのtoパラメーター内に一意のmessageIdを含めることで、カスタムのmessageIdを含むメールを送信します。

動的コンテンツを含むメールの送信

動的コンテンツを含むメールを送信するには、HTMLコンテンツ内でテンプレート言語 を使って、リクエストの toパラメーター内のプレースホルダー値を定義します。使用可能なテンプレート言語コンストラクトのいずれかを HTMLコンテンツに追加して、置換、条件文、または反復を解決します。

APIリクエストで新しいテンプレート言語コンストラクトを使用するには、templateLanguageVersion=2というパラメーターを指定します。

HTMLで古いハンドルバー {{ヘルパー}} を使用する場合は、APIリクエストで TemplateLanguageVersion パラメーターを指定しないでください。次の表では、ハンドルバー {{ヘルパー}} の例を示しています。

フル機能のメールの送信 (opens in a new tab)に関するリファレンスドキュメントをご参照ください。

ハンドルバーヘルパーの例

HTML REQUESTTO JSON REQUESTRESOLVED HTML
ヘルパーの例:#eq
 {{#eq name "Bob"}}    Dear {{name}}   {{else}}   Hi {{name}}   {{/eq}} {    "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob"    }  }Dear Bob
ヘルパーの例:#each
{{#each friends}} Hi {{this}} {{/each}}{    "to": "john.smith@somedomain.com",    "placeholders": { "friends":["Bob","John","Jack"] }  }Hi Bob Hi John Hi Jack
ヘルパーの例:#unlessEq
{{#unlessEq name "Bob"}} Dear {{name}} {{else}} Hi {{name}} {{/unlessEq}}{    "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob"    }  }Hi Bob
ヘルパーの例:#default
Hi {{name}}{    "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob"    }  }Hi Bob
ヘルパーの例:#gt
{{#gt age 12}} Welcome {{name}}! {{else}} Hey {{name}}, you are under age {{/gt}}{    "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob" , "age":10   }  }Hey Bob, you are under age
ヘルパーの例:#lt
{{#lt age 12}} Welcome {{name}}! {{else}} Sorry {{name}}, This is kids arena {{/lt}}{    "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob" , "age":10   }  }Welcome Bob!
ヘルパーの例:#equalsIgnoreCase
{{#equalsIgnoreCase gender "male"}} Dear Mr {{name}} {{else}} Dear customer {{/equalsIgnoreCase}}{    "to": "john.smith@somedomain.com",    "placeholders":{    "name": "Bob" , "gender": "MALE"   }  }Dear Mr Bob
ヘルパーの例:#gte
{{#gte age 12}} Welcome {{name}}! {{else}} Hey {{name}}, you are under age {{/gte}}{    "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob" , "age":10   }  }Hey Bob, you are under age
ヘルパーの例:#lte
{{#lte 12歳}} ようこそ {{name}}! {{else}} 申し訳ありませんが、{{name}}, This is kids arena {{/lte}}{    "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob" , "age":10   }  }Welcome Bob!
ヘルパーの例:#compare
{{#compare name "!=" "Bob"}}Hi {{name}}{{else}} Dear Bob{{/compare}}{    "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Jane" , "age":10   }  }Hi Jane
ヘルパーの例:#equals
 {{#equals name "Bob"}}    Dear {{name}}   {{else}}   Hi {{name}}   {{/equals}} {    "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob"    }  }Dear Bob
ヘルパーの例:#lessThan
{{#lessThan age 12}} Welcome {{name}}! {{else}} Sorry {{name}}, This is kids arena {{/lessThan}}{    "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob" , "age":10   }  }Welcome Bob!
ヘルパーの例:#lessThanOrEquals
{{#lessThanOrEquals age 12}} Welcome {{name}}! {{else}} Sorry {{name}}, This is kids arena {{/lte}}{    "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob" , "age":10   }  }Welcome Bob!
ヘルパーの例:#greaterThan
{{#greaterThan age 12}} Welcome {{name}}! {{else}} Hey {{name}}, you are under age {{/greaterThan }}{    "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob" , "age":10   }  }Hey Bob, you are under age
ヘルパーの例:#greaterThanOrEquals
{{#greaterThanOrEquals age 12}} Welcome {{name}}! {{else}} Hey {{name}}, you are under age{{/greaterThanOrEquals }}{    "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob" , "age":10   }  }Hey Bob, you are under age
ヘルパーの例:#when
{{#when name "!=" "Bob"}} Hi {{name}}{{else}}Dear Bob{{/when}}{    "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Jane" , "age":10   }  }Hey Jane
ヘルパーの例:#contains
{{#contains friends "Bob"}} Hi {{this}} {{/each}}{    "to": "john.smith@somedomain.com",    "placeholders": { "friends":["Bob","John","Jack"] }  }Hi Bob
ヘルパーの例:#and
{{#and great magnificent}}Bob{{else}}Jane{{/and}}{    "to": "john.smith@somedomain.com",    "placeholders": { "great": true, "magnificent": true }  }Hi Bob
ヘルパーの例:#formatNumber
{{#formatNumber price}} {{/formatNumber}}{    "to": "john.smith@somedomain.com",    "placeholders": { "price":10000 }  }10,000
ヘルパーの例:#isTruthy
{{#isTruthy Male}}Hi Bob{{else}}Hi Jane{{/isTruthy}}{    "to": "john.smith@somedomain.com",    "placeholders": { "Male": true }  }Hi Bob
ヘルパーの例:#isFalsey
{{#isFalsey Male}}Hi Bob{{else}}Hi Jane{{/isFalsey}}{    "to": "john.smith@somedomain.com",    "placeholders": { "Male": true }  }Hi Jane
ヘルパーの例:#ifEven
{{#ifEven age}}Hi Bob{{else}}Hi Jane{{/ifEven}}{    "to": "john.smith@somedomain.com",    "placeholders": { "age": 20 }  }Hi Bob
ヘルパーの例:#ifOdd
{{#ifOdd age}}Hi Bob{{else}}Hi Jane{{/ifOdd}}{    "to": "john.smith@somedomain.com",    "placeholders": { "age": 20 }  }Hi Jane
ヘルパーの例:#ifNth
{{#ifNth age balance}}Hi Bob{{else}}Hi Jane{{/ifNth}}{    "to": "john.smith@somedomain.com",    "placeholders": { "age": 20, "balance": 20000 }  }Hi Bob
ヘルパーの例:#is
{{#is name "Bob"}}Dear {{name}}{{else}}Hi {{name}}{{/is}}{    "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob" , "age":10   }  }Dear Bob
ヘルパーの例:#isnt
{{#isnt name "Bob"}}Dear {{name}}{{else}}Hi {{name}}{{/isnt}}{    "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob" , "age":10   }  }Hi Bob
ヘルパーの例:#neither
{{#neither great magnificent}}A{{else}}B{{/neither}}{    "to": "john.smith@somedomain.com",    "placeholders": { great: true, magnificent: false }  }B
ヘルパーの例:#not
{{#not great}}A {{else}} B{{/not}}{    "to": "john.smith@somedomain.com",    "placeholders": { great: true, magnificent: false }  }B
ヘルパーの例:#or
{{#or great magnificent}}A{{else}}B{{/or}}{    "to": "john.smith@somedomain.com",    "placeholders": { great: true, magnificent: false }  }A
ヘルパーの例:#unlessGt
{{#unlessGt physics chemistry}}Hi {{name}}your score in Physics :{{physics}}{{else}}Hi {{name}}your score in Chemistry : {{chemistry}}{{/unlessGt}}{ "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob" , "physics": 70 , "chemistry": 75 }  }Hi Bob your score in Physics : 70
ヘルパーの例:#unlessLt
{{#unlessLt physics chemistry}}Hi {{name}}your score in Physics : {{physics}}{{else}}Hi {{name}}your score in Chemistry : {{chemistry}}{{/unlessLt}}{ "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob" , "physics": 70 , "chemistry": 75 }  }Hi Bob your score in Chemistry : 75
ヘルパーの例:#unlessGteq
{{#unlessGteq physics chemistry}}Hi {{name}}your score in Physics : {{physics}}{{else}}Hi {{name}}your score in Chemistry : {{chemistry}}{{/unlessGteq}}{ "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob" , "physics": 70 , "chemistry": 75 }  }Hi Bob your score in Physics : 70
ヘルパーの例:#unlessLteq
{{#unlessLteq physics chemistry}}Hi {{name}}your score in Physics : {{physics}}{{else}}Hi {{name}}your score in Chemistry : {{chemistry}}{{/unlessLteq}}{ "to": "john.smith@somedomain.com",    "placeholders": {    "name": "Bob" , "physics": 70 , "chemistry": 75 }  }Hi Bob your score in Chemistry : 75

MIME 形式を使用したメールの送信

API 経由で MIME (多目的インターネットメール拡張機能) 形式の電子メールを送信できます。MIME を使用して E メールコンテンツを送信すると、E メールの構成と送信の柔軟性が高まります。例えば:

  • 柔軟なメッセージフォーマット
  • インライン画像、HTML、添付ファイル

MIME 形式のコンテンツを含む E メールを送信するには、 MIME E メール送信 (opens in a new tab) API のリファレンス ドキュメントを参照してください。

メール配信レポート

[電子メール配信レポート (opens in a new tab)] 方法では、送信されたすべての電子メールの 1 回限りの配信レポート (DLR) を取得できます。E メール配信レポートは、送信されたすべての E メールのパフォーマンスに関する詳細情報と指標を提供します。レポートの数に制限を設定したり、特定のメッセージやキャンペーンをターゲットに設定したりできます。

配信レポートは、フェールオーバーロジックの作成や、配信パフォーマンスが最適でない場合のトラフィックの速度低下など、ワークフローを最適化できる重要な分析情報を提供します。

備考

配信レポートは一度だけ返されます。追加の配信レポートリクエストは、空のコレクションを返します。

以下に、メール配信レポートの取得例を示します。

メッセージIDによるレポートの取得

特定のメッセージを指定するには、messageIdパラメーターを使用します。例えば:

GET /email/4/reports?messageId=

最初の2つの配信レポートの取得

レポートの最大数を定義したい時は、limitパラメーターを使用します。例えば:

GET /email/4/reports?limit=2 HTTP/1.1

一括IDによるレポートの取得

一意のレポートをリクエストしたい時は、bulkIdパラメーターを使用します。

GET /email/4/reports?bulkId=lrzkq6gatdkxouhrkgni HTTP/1.1

メールメッセージログ

[ 電子メール ログの取得 (opens in a new tab) ] メソッドを使用すると、電子メール メッセージのログを取得できます。この要求では、どのクエリ パラメーターも必須ではありません。パラメーターの任意の組み合わせを使用して、結果をフィルター処理できます。以下にいくつかの例を示します。

ログの利用可能性

メールログは、過去48時間分のみ利用できます。

応答形式 成功した場合、応答ヘッダーの HTTP ステータスコードは 200 OK になり、メッセージログが返されます。

承認せずにメッセージを送信しようとすると、HTTP ステータスコード 401 Unauthorizedの応答が返されます。

このメソッドを短期間に何度も使用すると、429 Too Many Requests ステータスコードが表示されます。これにより、レポートがより適切な場合にログを誤用するのを防ぐことができます。

複数のメッセージIDフィルターによるログの取得

フィールド fromtoおよび limitは、応答メッセージログをフィルタリングするために使用する1つのパラメーターを受け入れます。

日付範囲と一般的なステータスフィルターによるログの取得

フィールド sentSincegeneralStatusは、応答メッセージログをフィルタリングするために使用する1つのパラメーターを受け入れます。

一括IDによるログの取得

このメソッドを使用するには、メッセージログをフィルタリングするメールの応答で返されるbulkIdを使用します。

通知の追跡

trackingUrlが渡されると、受信者がメールを開くか、メール内の URLをクリックするたびに通知されます。開封通知とクリック通知で渡されるデータの構造を以下に示します。

開封通知

json
 
    {
      "notificationType": "OPENED",
      "domain": "sendingdomain.com",
      "recipient": "john.smith@somecompany.com",
      "sendDateTime": 1517652288663,
      "messageId": "zl3cf7frmy48ueavnnxy",
      "callbackData": "Email open and click callback data",
      "bulkId": "8pok2duu132mojj587zc",
      "recipientInfo": {
        "deviceType": "Desktop",
        "os": "Windows XP",
        "deviceName": "PC"
      }
    }
 

クリック通知

json
 
    {
      "notificationType": "CLICKED",
      "domain": "sendingdomain.com",
      "recipient": "jane.smith@somecompany.com",
      "url": "http://www.example.com/landingpage.html",
      "sendDateTime": 1517652288646,
      "messageId": "zsf6q5vjgn1y6qqn65g7",
      "callbackData": "Email open and click callback data",
      "bulkId": "8pok2duu132mojj587zc",
      "recipientInfo": {
        "deviceType": "Desktop",
        "os": "Windows XP",
        "deviceName": "PC"
      }
    }
 

Logo

ご不明点は

サポートまでお問い合わせ

ください

© NTTCom Online Marketing Solutions Corporation