このトピックでは、非同期通知を設定する方法について説明します。非同期通知は、この機能の既存ユーザーのみが利用できます。非同期通知を使用したことがないユーザーは、新機能「イベントパブリッシング」を使用してください - イベントパブリッシングの設定。
DirectMail サーバーからメールリクエストを送信した後、配信結果は、メッセージサービスで設定したイベント通知ルールに従って、メッセージサービスの受信端末(HTTP、メッセージキュー、または件名)に送信されます。 メッセージサービスの受信端末を使用して、配信結果を非同期で取得できます。
非同期通知を設定するには、まずメッセージサービスをアクティブ化します。メッセージサービスには追加料金が発生する場合があります。
非同期通知を設定するには、メッセージサービスコンソールでイベント通知ルールを作成し、次に DirectMail コンソールで非同期通知を作成する必要があります。そのため、メッセージサービスを有効にする必要があり、料金が発生する場合があります。
非同期通知を設定するには、Alibaba Cloud のメインアカウントを使用してください。メッセージサービスは現在 RAM をサポートしていません。
イベント通知ルールの作成
メッセージ受信端末として機能する通知ルールを作成する前に、まずメッセージ受信キューを作成することをお勧めします。
メッセージ受信キューの作成
メッセージサービスコンソール にログオンします。
左側のナビゲーションウィンドウで、キュー をクリックします。
ページ上の [キューの作成] ボタンをクリックすると、ダイアログボックスが表示されます。
キュー名を入力し、その他のフィールドにはデフォルト値を使用し、 [OK] をクリックします。

イベント通知ルールの作成
1. メッセージサービスコンソールの左側のナビゲーションウィンドウで、イベント通知 をクリックします。
2. ページ上の [ルールの作成] ボタンをクリックすると、ダイアログ ボックスが表示されます。
3. リージョンとプロダクト名を確認し、ルール名を入力し、イベントタイプを選択し、受信ターミナルを追加して、[OK] をクリックします。現在、システムは 2 種類の受信ターミナル(HTTP とキュー)をサポートしています。作成したメッセージ受信キューを受信ターミナルとして選択できます。

注:通常、新しく作成されたルールが有効になるまでに最大 10 分かかります。
以下の「イベントタイプ」リファレンスをご確認ください。
非同期通知の作成
非同期通知は、アカウントレベルとメールアドレスレベルの非同期通知に分けることができます。すべての送信元アドレスの配信結果に関する非同期通知を実装する場合は、アカウントレベルの非同期通知を設定できます。特定のメールアドレスの配信結果に関する非同期通知を実装する場合は、特定の送信元アドレスに対してメールアドレスレベルの非同期通知を設定できます。両方設定することもできます。メールアドレスレベルの非同期通知は、アカウントレベルの非同期通知よりも優先度が高くなります。指定された送信元アドレスはメールアドレスレベルの非同期通知を取得し、他のすべての送信元アドレスはアカウントレベルの非同期通知を取得します。これにより、特定のアカウントの通知を異なるメッセージ受信端末に送信できます。
アカウントレベルの非同期通知の作成
1. DirectMail コンソール にログオンします。
2. 左側のナビゲーションウィンドウで、非同期通知 をクリックします。
3. ページの 新しいアカウントレベルの非同期通知 ボタンをクリックします。
4. リージョンを選択し、 [OK] をクリックします。


メールアドレスレベルの非同期通知の作成
1. [非同期通知] ページで、[メールアドレスレベルの非同期通知] をクリックします。
2. ページの 新しいアドレスレベルの非同期通知 ボタンをクリックします。
3. 送信元アドレスとリージョンを選択し、[OK] をクリックします。

メッセージサービスコンソールはキューメッセージを受信し、リンクが有効であることを確認します。
DirectMail サーバーからメールリクエストを送信した後
1. メッセージサービスコンソール にログオンします。
2. 左側のナビゲーションウィンドウで、キュー をクリックします。
3. リージョンを選択して、以前に作成したキューのアクティブなメッセージを表示します。
4. メッセージを送信する をクリックして、キューにプッシュされた特定のイベント通知を表示します。


イベントタイプと有効化方法
イベントタイプは現在、以下のカテゴリをサポートしています。
配信:送信成功
配信:送信失敗
配信:開封
配信:クリック
配信:送信成功と配信:送信失敗の統計を有効にする方法
デフォルトで配信情報を収集します。
配信:開封と配信:クリックの統計を有効にする方法
詳細については、「データ追跡機能を有効にする方法」をご参照ください。
配信成功と配信失敗のメッセージ構造
配信成功の例
X-Notify-Message-ID=3121639760461820&env_id=12769055421&msg_id=37483d95-7a08-41fb-9738-3d3ffa24d415@example.com&account=example@example.com&from=example@example.com&rcpt=example1@example.com&recv_time=2017-03-29 14:22:40&end_time=2017-03-29 14:22:43&status=0&event=deliver®ion=cn-hangzhou&err_code=250&err_msg=250 Send Mail OK&failed_type=SendOk
配信失敗の例
X-Notify-Message-ID=3121639760461824&env_id=12625010655&msg_id=ac349efc-0d79-489b-affa-f178dce3e49e@example.com&account=example@example.com&from=example@example.com&rcpt=example1@example.com&recv_time=2017-03-28 19:09:49&end_time=2017-03-28 19:09:51&status=4&event=deliver®ion=cn-hangzhou&err_code=524&err_msg=524 Host not found by dns resolve [@ou070302]&failed_type=SysOutDnsResolveFail
解決方法
「&」を使用してキーと値を区切り、「=」を使用してキーと値を区切ります。キーの定義は値リストを参照してください。
成功メッセージと失敗メッセージを区別する方法
err_code 250 は送信が成功したことを示します。その他の戻りコードは、送信が失敗したことを示します。
値リスト
名前 | 説明 |
X-Notify-Message-ID | カスタムヘッダー X-Notify-Message-ID を設定します |
env_id | システム内部 ID(問い合わせのフィードバックに使用されます)。 |
msg_id | メール本文の Message-ID フィールド。 |
account | 送信元アドレス。 |
from | 送信元アドレス。 |
rcpt | 受信者アドレス。 |
recv_time | メールがキューで受信された時刻。 |
end_time | メール配信が完了した時刻。 |
status | 配信結果(0 - 成功、2 - 無効なアドレス、3 - 受信側のスパムメール、4 - 失敗)。 |
event | イベントタイプ。配信は配信イベントを示します。 |
region | イベントが発生したリージョン。 |
err_code | 配信完了後の受信側からの ESP リターンコード。 |
err_msg | 配信完了後の受信側からの ESP リターン情報。 |
一般的な failed_type の定義:
値 | 定義と提案 |
SendOk | 配信成功 |
SysOutDnsResolveFail | 受信者ドメインの DNS 解決に失敗しました。通常は、無効なドメインが原因です。受信者リストからドメインを削除してください。 |
SmtpMfFreq | 送信アカウントはフロー制御されています。 送信頻度を減らしてください。 |
SmtpContSpam | コンテンツは受信者によってスパムと判断されました。 メールコンテンツを最適化するか、このテンプレートで受信者にメールを送信するのをやめてください。 |
SmtpAuthFail | SPF または DKIM または DMARC 検証に失敗しました。正しい SPF レコードを解決し、DMARC レコードが構成されているかどうかを確認し、DKIM が正しいかどうかをテストしてください。 |
SmtpNxBox | 無効なアドレス。アカウントレベルの無効なアドレスライブラリに追加されました。 |
SysOutInvRcpt | グローバル無効アドレスライブラリにヒットしました。アドレスが有効であることを確認した場合は、報告するか、グローバルレベルの無効なアドレスライブラリを有効にしないことを選択できます。 |
SmtpRcptFreq | メール受信システムの疲労制御。現在の受信者へのメール送信を一時的に停止してください。 |
SmtpSslTlsErr | 一時的なエラー。ネットワークエラーまたはピアが利用できないため、SSL/TLS 接続に失敗しました。もう一度お試しください。 |
SmtpTempErr | 一時的なエラー。もう一度お試しください。 |
SmtpZPermErr | 永続的なエラー。再試行しないでください。受信者から返されたメッセージに基づいて、エラーの原因を特定してください。 |
SysOutSocksConnError | 接続エラーが多すぎます。考えられる原因は、ピアエンドがリンクを拒否したか、受信ドメイン名の MX レコードが正しくないことです。 |
SmtpFullBox | 受信者のメールボックスがいっぱいです。受信者へのメール送信を停止してください。 |
SmtpIPFreq | 受信システムは着信 IP フローを制御します。送信速度を下げて、後で再試行してください。 |
SysOutSocksError | 接続エラーが多すぎます。考えられる原因は、ピアエンドがリンクを拒否したか、受信ドメイン名の MX レコードが正しくないことです。 |
SysOutConnError | 接続エラーが多すぎます。考えられる原因は、ピアエンドがリンクを拒否したか、受信ドメイン名の MX レコードが正しくないことです。 |
SysOutConnTooMuch | 接続エラーが多すぎます。考えられる原因は、ピアエンドがリンクを拒否したか、受信ドメイン名の MX レコードが正しくないことです。 |
UnkSmtpError | 不明なエラー。エラーメッセージに従って送信設定と受信アドレスを確認し、エラーがないことを確認してから後で再送信してください。 |
SmtpMfdFreq | 送信ドメイン名はフロー制御されています。メールの頻度を減らしてください。 |
SmtpMiscSpam | コンテンツは受信者によってスパムと判断されました。 メールコンテンツを最適化してください。 |
SmtpMfBad | 送信者は受信システムによってブラックリストに登録されました。相手へのメール送信を停止するか、受信者のシステムに連絡してブラックリストから削除してください。 |
SmtpSpfFail | SPF 検証に失敗しました。正しい SPF レコードを解決してください。 |
SmtpMfLimit | 送信者が 1 日に送信したメールの数が受信者ドメインの制限を超えました。翌日もう一度お試しください。 |
SmtpDmaFail | DMARC で構成されたドメイン。SPF または DKIM 検証に失敗しました。正しい SPF レコードを解決し、DKIM が正しいかどうかをテストしてください。 |
SmtpProtErr | ピアプロトコルインタラクションが正しくありません。Alibaba Cloud のトラブルシューティングに報告できます。 |
SysOutRecipientReportedSpam | 受信者が送信アドレスまたはドメインを報告しました。その受信者/ドメインへのメール送信を停止してください。 |
SysOutHoneypot | 受信者はハニーポットアドレスです。このアドレスへのメール送信を停止してください。そうしないと、スパム対策組織から罰せられます。 |
SysOutRecipientUnsubscribed | 受信者が送信アドレスまたはドメインを購読解除しました。その受信者/ドメインへのメール送信を停止してください。 |
SysIncomingInvRcpt | グローバル無効アドレスライブラリにヒットしました。アドレスが有効であることを確認した場合は、報告するか、グローバルレベルの無効なアドレスライブラリを有効にしないことを選択できます。 |
SysOutRcptOnAccountLevelBounceList | アカウントレベルの無効なアドレスライブラリにヒットしました。アドレスが有効であることを確認した場合は、無効なアドレスライブラリページで削除するか、アカウントレベルの無効なアドレスライブラリを有効にしないことを選択できます。 |
SmtpDbl | spamhaus のドメインブラックリストにヒットしました。メールの送信を一時停止し、check.spamhaus.org にアクセスしてリスト解除を申請してください。リスト解除後、メールの品質に注意し、購読解除したユーザーにメールを送信しないでください。 |
開封イベントのメッセージ構造
例
event=Open®ion=cn-hangzhou&env_id=270016664318&msg_id=1688486074.7.1673022065730@example.com&from=example@example.com&rcpt=example@example.com&operate_time=2023-01-07 01:43:51
値リスト
名前 | 説明 |
event | イベントタイプ |
region | イベントが発生したリージョン |
env_id | システム内部 ID(問い合わせのフィードバックに使用されます) |
msgid | メール本文の Message-ID フィールド |
from | 送信元アドレス |
rcpt | 受信者アドレス |
operate_time | イベント操作時間 |
クリックイベントのメッセージ構造
例
event=Click®ion=cn-hangzhou&env_id=17870283365788973187&msg_id=02785cb2-71b1-4fb5-bdbb-a49dfbe3326f@example.com&from=example@example.com&
rcpt=example@example.com&operate_time=2023-01-12 09:54:09&url=httpsxxx
値リスト
名前 | 説明 |
event | イベントタイプ |
region | イベントが発生したリージョン |
env_id | システム内部 ID(問い合わせのフィードバックに使用されます) |
msgid | メール本文の Message-ID フィールド |
from | 送信元アドレス |
rcpt | 受信者アドレス |
operate_time | イベント操作時間 |
url | クリックされた URL |