ニュースレターモジュールを作成し、メンバーにメールを送信します。環境はLAMPです。メンバーがメールを開いたかどうかを知る方法はありますか?'php' sourceの場合、put imageについて聞きますが、最善の方法は何ですか?
5 に答える
最終的には、確実に通知を受け取る方法がないことは明らかです。これは、電子メール クライアントに何らかの方法で応答を返す保証された方法がないためです。電子メール クライアントは、受信電子メールを ASCII テキストとして解釈するように設定できますが、それについては何もできません。
でも; ほとんどの場合、電子メールを期待しているユーザーに電子メールを送信する場合、送信元アドレスに対して HTML レンダリングとインライン画像が有効になっている可能性が高いため、インライン IMG タグを使用して参照ファイルへのアクセスを監視します (明らかに、いくつかの per -リファレンスのユーザー固有の ID) を使用すると、得られる最高の結果が得られるはずです。
とにかく、通知が返されない場合、それはユーザーがメールを見ていないことを意味するという仮定を立てることはできません.
はい、開封確認と呼ばれる標準メカニズム ( RFC 3798 ) があります。これは、最新のすべてのメール クライアントで実装されており、ユーザーは、選択したとおりに受信を送信する (または送信しない) ことを選択できます。
ユーザーの同意なしにこれを行うためのさまざまな非標準的な策略もありますが、これについては詳しく説明しません。
編集:
以下のようになります (組み込みの PHPメール関数を使用):
mail("foo@foo.com", "Let me know if you get this", "Important message", "Disposition-Notification-To: sender@sender.com\r\n");
メールクライアントを制御しているのはあなたではないため、確実な方法はありません。多くの人は、開封確認、Web ビーコン、および読み取りを検出するために使用できるその他すべてのトリックを防ぐために、プライバシーを真剣に考えています (開封確認をオフにしたり、画像をブロックしたり、未承諾の発信接続を防止したりできます)。
もちろんこれは私の意見ですが、問題に間違った方法で取り組んでいると思います。ユーザーがメールを読んだかどうかを強制的に知らせようとするのではなく、それだけの価値があるようにします。この情報を入手することは明らかにあなたにとって何らかの利益をもたらします (そうでなければ、なぜそれを行う必要があるのでしょうか?) ので、その利益を共有し、それがユーザーの決定であることを確認してください。
そうすることで、関係を戦場からパートナーシップ (win/win) に変えることができます。
メールが読まれたかどうかを確認する一般的な方法は、ウェブ ビーコンです。これは通常、サーバーから読み込まれる小さな 1x1 ピクセルの非表示の画像であり、画像が読み込まれてメールが読まれたことを追跡できます。
ただし、多くの電子メール クライアントが電子メール内の画像をブロックしているか、読者がテキストのみの電子メール クライアントを使用している可能性があるため、これが機能するとは限りません。
各電子メールには、ユーザー アカウント (またはデータベース行) に対応する一意の名前の画像が含まれています。その画像が読み込まれるかアクセスされると、どのユーザーが電子メールを開いたかがわかります。ただし、これはユーザーが HTML メールを受信することに依存しています。