SMTP APIとの統合
SMTP API と統合するには、該当する SMTP サーバー情報が必要です。次の表は、各リージョンに応じて、SMTP サーバーとポート番号で使用可能なエンドポイントを示しています。
| 地域 | SMTPサーバー | ポート |
|---|---|---|
| ヨーロッパ | smtp-api.infobip.com | 587、465 |
| イギリス | smtp-api-gb1.infobip.com | 587、465 |
| インド (ムンバイ) | smtp-api-mum.infobip.com | 587、465 |
| インドネシア | smtp-api-id.infobip.com | 587、465 |
| 中東・北アフリカ | smtp-api-ae2.infobip.com | 587 |
| パキスタン | smtp-api-pk2.infobip.com | 587 |
| カタール | smtp-api-qa1.infobip.com | 587 |
| サウジアラビア | smtp-api-sa3.infobip.com | 587 |
| トルコ | smtp-api-tr1.infobip.com | 587 |
| 米国 | smtp-api-us.infobip.com | 587、465 |
Schrems II に準拠するには、使用可能な標準ポート (587または 465) のいずれかで smtp-api-eu.infobip.com を使用します。
ポート587を使用する場合、明示的なSTARTTLS コマンドが必要であるのに対し、ポート465を介した接続は、TLSハンドシェイクがすでに完了していることを意味します。TLS通信は、どのポートでも必須 です。
SMTP認証
SMTP認証 (SMTP AUTH) は、許可されたユーザーのみがNTT CPaaS SMTP APIを介してメールを送信できるようにします。SMTP AUTHは、メッセージ送信を許可する前に有効な資格情報を適用することで、不正アクセスやサーバーの悪用を防ぐのに役立ちます。
NTT CPaaS SMTPは、PLAIN およびLOGIN 認証メカニズムをサポートしています。
- PLAIN - ユーザー名とパスワードを1つのBase64エンコード文字列で送信します。
- LOGIN - ユーザー名とパスワードを個別に送信し、それぞれBase64文字列としてエンコードします。
認証資格情報は、次の2つの方法で送信できます:
- 基本認証 - NTT CPaaSアカウントのユーザー名とパスワードを使用します。
- APIキー認証 - ユーザー名は常に App で、パスワードはNTT CPaaSアカウントで作成されたAPIキーです。
どちらの場合も、ユーザー名とパスワードは Base64でエンコードされた 文字列として送信する必要があります。
OpenSSLなどの一部のライブラリでは、文字Q が行の最初の文字として挿入されると、接続が終了する場合があります。これは、base64で QXBw にエンコードされ、結果的にQで始まることになるApp などのbase64でエンコードされたユーザー名を使用する場合に問題を引き起こす可能性があります。
この問題を回避するには、OpenSSL で-quietオプションを使用するか、ユーザー名を入力する前に行を1つ以上の空白スペースで開始します。
APIキーの使用法の詳細については、API認証 について詳述しているドキュメントをご参照ください。
サポートされているSMTPコマンド
NTT CPaaSのSMTPサーバーは、次のコマンドをサポートしています:
| SMTPコマンド | 説明 |
|---|---|
HELP | サポートされているSMTPコマンドとその使用法に関する情報を返します。 |
HELO | 新しいSMTPセッションを開始します。 クライアントのドメイン名またはホスト名を使って、SMTPサーバーと接続するクライアントを識別します。標準のSMTPで使用されます。 |
EHLO | 拡張 SMTP (ESMTP) セッションを開始します。 サーバーに接続するクライアントを識別し、サーバーがサポートするESMTP拡張機能の一覧をリクエストします。 |
STARTTLS | 既存のSMTP接続をアップグレードして、安全な通信のためにTLS(Transport Layer Security)を使用します。 |
AUTH | ユーザー名とパスワードを使用して、サーバーに接続するクライアントを認証します。 PLAIN とLOGIN の認証メカニズムがサポートされています。 |
MAIL | 送信者のメールアドレス (エンベロープ送信元) を指定します。 FROM パラメーターに加えて、SIZE パラメーターはメールのサイズをアナウンスするためにも使用されます。 新しいメールトランザクションの送信プロセスを開始します。 |
RCPT | 受信者のメールアドレス (Envelope To とも呼ばれます) を指定します。 メッセージの各受信者 (To、Cc、Bcc) に使用されます。 受信者が複数いる場合は、アドレスごとにコマンドが繰り返されます。 |
DATA | メールの内容 (ヘッダーと本文)の始まりを伝達します。 サーバーは 354で応答し、クライアントにメッセージデータを送信するように求めます。 データは <CRLF>.<CRLF>を含む1行で終わります。 |
RSET | 現在のメールトランザクションをリセットし、指定された送信者または受信者をクリアしますが、SMTP接続は開いたままにします。 |
QUIT | SMTPセッションを終了し、接続を閉じます。 |
NOOP | ヘルスチェックを行います。 |
DATAセクション内のTo およびCc ヘッダーに含まれているすべてのメールアドレスは、SMTPトランザクション中にRCPTコマンドを使用して受信者として指定されることが推奨されていますが、RFCでは厳密には要求されていません。
RCPTを介して提供されたアドレスのみが実際にメッセージを受信しますが、ヘッダー内のアドレスだけでは受信できません。
RFC 準拠のヘッダー
NTT CPaaS プラットフォームは、送信 SMTP 電子メールの RFC 準拠のヘッダー をサポートしています。
一般的に使用されるヘッダーには、次のものがあります。
In-Reply-To- メッセージのスレッド化をサポートReferences- メッセージスレッドのコンテキストを提供しますList-Unsubscribe- 受信者がメーリングリストの登録を解除できるようにします。List-Unsubscribe-Post- 自動処理のために登録解除機能を拡張します
オプションのカスタムヘッダー
カスタムヘッダーを使用すると、送信SMTPメールに追加情報を含めることができます。次の表に、メール通信で使用されるカスタム ヘッダー名の一覧を示します。
| ヘッダー名 | 説明 |
|---|---|
X-IB-Bulk-Id | 送信されたバルクを一意に識別するIDです。このフィルターを使用すると、クライアントは1つのリクエストだけで、すべてのメッセージの配信レポートを照会できます。 |
X-IB-Callback-Data | X-IB-Notify-Urlで送信される追加のクライアントデータです。 |
X-IB-Intermediate-Report | クライアントのコールバックサーバーで送信されるリアルタイムの中間配信レポートです。 |
X-IB-Notify-Content-Type | 希望する配信レポートのコンテンツタイプです。application/json または application/xml を指定できます。 |
X-IB-Notify-Url | 配信レポートが送信されるクライアントのコールバック サーバー上のURLです。 |
X-IB-Tracking-Url | 開封とクリック通知が送信されるクライアントのコールバックサーバー上のURLです。 詳細については、トラッキング通知 について詳述しているドキュメントをご参照ください。 |
| 'X-IB-クライアント優先度' | メールの優先度を設定します。使用できる値: HIGH、STANDARD、LOW。指定しない場合、デフォルトはSTANDARDです。優先度の高いメッセージは、アカウントから優先度の低いメッセージよりも先に送信されます。 |
| 'X-IB-アプリケーション-ID' | 送信送信要求でアプリケーションを指定するために使用します。通知イベントでも同じ値が返されます。 |
| 'X-IB-エンティティ-ID' | 送信送信要求でエンティティを指定するために使用されます。同じ値が通知イベントにも含まれます。 |