0

電子メールの開封率を追跡するために、サーバーから送信する大量の電子メールでピクセルを起動しています。スクリプトは Mac Mail で動作しています。メールが受信され、ピクセルがダウンロードされます。

ただし、Yahoo メール クライアントでは機能しません。電子メールが受信され、参照された画像がダウンロードされて表示されますが、ピクセルは起動/ダウンロードされず、php スクリプトも実行されません (私の知る限り)。なぜこれが Yahoo メール クライアントや、まだテストしていない他のクライアントで発生する可能性があるのか​​を知っている人はいますか?

HTMLのimgタグは次のとおりです。

<img src="http://mysite.com/email_track.php?email=email_value&country=country_value&state=state_value" />

phpスクリプトは次のとおりです。

<?php


// Database code omitted

$result= mysql_query("INSERT INTO `CelebrationOpens` SET `time` = NOW(), `country` = '$country', `state` = '$state', `email` = '$email' ") or die(mysql_error());

// Create an image, 1x1 pixel in size
$im=imagecreate(1,1);

// Set the background colour
$white=imagecolorallocate($im,255,255,255);

// Allocate the background colour
imagesetpixel($im,1,1,$white);

// Set the image type
header("content-type:image/jpg");

// Create a JPEG file from the image
imagejpeg($im);

// Free memory associated with the image
imagedestroy($im);

?>

また、次のようにピクセルを起動しようとしました:

$name = './concert/pixel.png';
$fp = fopen($name, 'rb');


header("Content-Type: image/png");
header("Content-Length: " . filesize($name));

fpassthru($fp);
exit;
4

2 に答える 2

0

あなたは、すべての埋め込み画像を使用していると述べました。そのため、メール用に画像をダウンロードするかどうかに関係なく、常に表示されます。画像の埋め込みは画像ブロックの回避策ですが、電子メールのファイルサイズが大きくなります。

埋め込まれていないすべての画像が機能するように表示する必要があります。トラッキング ピクセルは 1 つです。Apple クライアントはデフォルトですべてのイメージをダウンロードしますが、他のクライアントはダウンロードしません。Yahoo (または他のクライアント) で電子メールの画像をダウンロードしていないため、追跡画像が起動していません。

残念ながら、これはオープン トラッキングの制限であり、データが不完全で常に Apple クライアントに偏っている理由です。オープン トラッキングとは、実際には「彼らがそれを開いて画像のブロックを解除したか、Apple で開いた」ことを意味します。

于 2013-11-05T14:11:36.047 に答える
0

犯人を見つけることができました。それは、ピクセル リンクのキャッシュに関連していました。img src にランダムな文字列を追加したところ、ymail と gmail の両方で機能するようになりました。

イメージタグは次のようになります。

<img src="http://mysite.com/email_track.php?email=email_value&country=country_value&state=state_value&random_value=<?php echo rand() ?>" />

この発見に向けて私を導いてくれてありがとう。

于 2013-11-07T02:13:32.033 に答える