このトピックでは、メールの開封とクリックのトラッキングを有効にする方法について説明します。
前提条件
ステータスが 検証済み のドメイン名の送信元アドレスを使用します。
トラッキングはメールタグに依存します。 メールタグの設定 ページでタグを作成し、メール送信時にそのタグを使用します。
考慮事項
開封イベントとクリックイベントのデータはリアルタイムで収集され、コンソールに表示されます。
制約事項
メールを送信する際は、既存のメールタグを使用する必要があります。
トラッキングは HTML メールでのみサポートされています。 メールコンテンツには、
<body>Your email content</body>のように body 要素を含める必要があります。クリックトラッキングの場合、ハイパーリンクは HTML コンテンツ 内の HTML
<a>タグである必要があります。例:<html><body><a href="hyperlink_to_track">test</a></body></html>。 ハイパーリンクは、パブリックインターネットからアクセス可能で、http://またはhttps://で始まる必要があります。 クリックトラッキングは、対象のハイパーリンクを、当社の収集サービスへのリダイレクト URL に置き換えます。 元のハイパーリンクは、この新しい URL にパラメーターとして渡されます。 受信者がリンクをクリックすると、当社の収集サービスにリダイレクトされます。 サービスはリンクを検証し、パラメーターを解析して、イベントデータを収集します。 その後、サービスはユーザーを元のハイパーリンクにリダイレクトします。
使用方法
1. コンソールからのメール送信
1. 新しいメール送信タスクを作成する際に、メールトラッキングの [Enable] チェックボックスをオンにします。

2. コンテンツは、前述の制約事項を満たす必要があります。
2. API または SDK によるメール送信
API または SDK 経由でメールを送信する場合、Tag パラメーターを既存のメールタグに設定し、OpenTrace および ClickTrace パラメーターを "1" に設定します。
setHtmlBody メソッドを使用してメールコンテンツを設定します。 コンテンツは、前述の制約事項を満たす必要があります。
設定を検証するには、RAW メールのコンテンツの末尾に img タグまたはトレースリンクがあるかどうかを確認します。
3. SMTP によるメール送信
「SMTP 送信時にタグでメール開封データを追跡する」の手順に従って X-AliDM-Trace ヘッダーを設定します。 Tag には既存のメールタグを設定する必要があります。 OpenTrace と LinkTrace の値は "1" に設定する必要があります。
特定のリンクをクリックトラッキングから除外するには、HTML コンテンツ内の <a> タグに data-alidm-traceoff 属性を追加します。 例:
<a href="http://www.aliyun.com" data-alidm-traceoff>Alibaba Cloud</a>制限事項
SMTP を使用して送信されるメールの場合、メール本文の MIME タイプは
text/html;charset=UTF-8である必要があります。 Content-Transfer-Encoding ヘッダーをquoted-printableに設定します。 コンテンツは、前述の制約事項を満たす必要があります。
Python の例:
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
msg = MIMEMultipart('alternative')
texthtml = MIMEText('''<html><body><a href="https://www.aliyun.com">Email Tracking</a></body></html>''', _subtype='html',
_charset='UTF-8')
if 'Content-Transfer-Encoding' in msg:
# ヘッダーがすでに設定されている場合は、最初の値を置き換えます (通常、このヘッダーには値が 1 つしかありません)。
msg.replace_header('Content-Transfer-Encoding', 'quoted-printable')
else:
# ヘッダーが設定されていない場合は、追加します。
msg['Content-Transfer-Encoding'] = 'quoted-printable'
msg.attach(texthtml)
Java の例:
import javax.mail.internet.MimeBodyPart;
// msg は操作対象の MimeMessage オブジェクトであると仮定します。 ここでは例として MimeBodyPart を使用します。
// メッセージボディ部分を作成します。
MimeBodyPart textPart = new MimeBodyPart();
textPart.setContent("<html><body><a href=\"https://www.aliyun.com\">Email Tracking</a></body></html>", "text/html; charset=UTF-8");
// 'Content-Transfer-Encoding' が設定されているかどうかを確認します。
String[] cte = textPart.getHeader("Content-Transfer-Encoding");
if (cte == null || cte.length == 0) {
// 設定されていない場合は、ヘッダーを追加します。
textPart.addHeader("Content-Transfer-Encoding", "quoted-printable");
} else {
// 設定されている場合は、最初の値を置き換えます (通常、このヘッダーには値が 1 つしかありません)。
textPart.setHeader("Content-Transfer-Encoding", "quoted-printable");
}