電子メールが宛先に到達したかどうかを判断する方法はありますか?
-
06-07-2019 - |
質問
宛先に到達する必要がある重要な電子メールを送信するPHPスクリプトがあります。電子メールが正常に送信されたかどうかを確認する方法を知っています。唯一の問題は、実際に受信者に届いたかどうかを知ることです。
提案はありますか?知る方法がない場合、この状況をどのように処理しますか?
解決
HTMLベースの電子メールを作成する場合、受信者に固有の情報を持つURLを含む画像を含めることができます。これらのURLが何らかのコードをトリガーして、必要な画像データを返す前にその特定のメールを既読としてマークするようにアプリケーションを構築できます。
完全に効果的であるためには、画像は電子メールの重要な部分を形成する必要があるため、受信者は電子メールクライアントに画像を取得させなければなりません。また、メールのプレーンテキスト部分に完全なメッセージを取得するURLを含めるだけで、受信確認を追跡することもできます。
これらのアイデアをどの程度理解するかは、読んだことを知っておく必要がある理由と、貼り付けられないメールで受信者をいらいらさせる程度に依存します。モバイルデバイスで簡単に読んだり、スクリーンリーダーで聞いたりする...
他のヒント
配信ステータス通知は通常の方法です: http://www.sendmail.org /~ca/email/dsn.html
Microsoftの電子メールを使用し、リーダーが開封確認を無効にしていない限り、メールが開封されたかどうかはわかりません。
編集:HTMLメールにまだ進んでいないので、既読通知を考慮していません。
確実に知る方法はありません。リモートサーバーがメッセージを受け入れたとしても、スパムフィルターなどによってフィルターされないという保証はありません。
すべての追跡リンクとウェブバグは、人々が実際に電子メールを開き、リモート画像を有効にするか、リンクをクリックすると想定しています。これにはすべて欠陥があります。
メールが受信されて返送されないことを確認するために、次のことを行います:
-
Errors-To
ヘッダーを追加(例:bounce@domain.comに設定) -
Return-Path
ヘッダーを追加(例:bounce@domain.comに設定) - メールボックス(bounce@domain.com)を選択して、メールを解析します
これにより、メッセージの内容に基づいて、電子メールがいつ戻ってきたかを確認できます。おそらく、どのメールが返送/返送されたかを判断できます。
残念ながら、メッセージがユーザーの受信ボックスに配信されたかどうかを判断する100%の方法はありません。サーバーがメッセージを受け入れたとしても、スパムフィルターに引っかかったり、非同期的に返送されたりする可能性があります。
多くの人がWebバグ追跡スタイルの手法について言及しています。これらはマーケティング担当者に適しています。サンプルのサイズに基づいて仮定を立てることができます。 HTMLメールが必要であり、ユーザーがHTMLで画像をロードする必要があります。これは場合によっては自動的に行われますが、多くの場合、ユーザーは[画像のダウンロード]ボタンをクリックする必要があります。
別の方法は、 Goodmail を使用することです。サービスの一部は、どのメッセージが実際に配信および開かれるかを追跡することです。もちろん、費用がかかり、すべてのメールプロバイダーがサポートされているわけではありません。繰り返しますが、それは主にマーケティングツールです。
リンク内にトラッキングスクリプトを非表示にすることもできます。たとえば、次のようなURLを作成します。
http://trackingserver/track/$messageid/http://real.url/goes/here
track
スクリプトはデータベースで「クリック」を記録し、クライアントを http://real.url/goes/here
にリダイレクトします。次に、毎回そのURLをクリックする説得力のある理由が必要です。
誰かがメールを読んだことを知りたいのはなぜですか?
法的に言えば、読者が受信者であったことを証明できないため、あなたが思い付くかもしれない方法は法廷で成立しません(誰かが重要な文書を読んだことを確認したいなど)。
セキュリティの面では、メールに奇妙なリンクやウェブバグや画像を追加することはスパマーが行うことであるため、適切なスパムフィルターによってスパムとしてフラグが付けられ、誰でも見る前に削除されます。何かを販売したい場合、これはあなたがそうしないことを確実にする確実な方法です。
更新:誰かが何かを読んだことを確認する必要がある場合は、読むべきドキュメントへのリンクまたはポインタをメールで送信することをお勧めします。 WebバグやパーソナライズされたIDをリンクに追加しないでください。文書内で、文書に署名し、それを読んだ証拠として署名付きコピーを返すように伝えます。
上記のすべて:HTML内の画像、何かをクリックした場合の追跡リンク。 ReturnPath / Goodmailなどのサードパーティサービスが役立ちます。
最良のアドバイスは、リストを送信していること、IPアドレスの評判が良いこと、DNS / SPFレコードを逆にすること、キャンペーンの登録解除とバウンス処理、コンテンツのスパムチェック、受信者にあなたを追加してもらうことです。アドレス帳に。
それにより、配達の可能性が高まります...
Sundeep .//
これを試してください:
HTMLでメールを作成します(PHPではそれほど難しくありません)。
そのメールには、1枚の写真(単なるきれいなロゴなど)を含めます。
この画像は特別な画像になります... srcは、たとえば myserver.com/images/logo.gif?recipient@email.com
になります。このsrcは、メールを送信する人ごとに動的に生成する必要があります。次に、受信者が電子メールを開くと、電子メールクライアントはサーバーにlogo.gif?recipient@email.comを要求します
したがって、サーバーがその画像のリクエストを受信した場合、recipient @ email.comがメッセージを受信したことがわかります。
URLの最後にタグの特別な形式を作成して、どの人であるかだけでなく、どのメールに返信しているかを知らせることができます。
これは、スパマーがメールアドレスがアクティブかどうかを判断するために行うことです。そのため、特定のソフトウェアは、あなたがスパムだと思うかどうかをユーザーに尋ねることがあります!また、一部のユーザーは画像をサポートしていません(またはこのサポートをオフにします)。
がんばって!
内部の場合は、メールを送信しますが、メッセージの内容をメールに入れないでください。 Webサイトへのリンクを指定しますが、ページビューをメールに結び付けることができるように、URLに識別子を指定します。
相手が協力的である限り、外部の場合でもそれを行うことができます。
宛先メールシステムにバニラアカウントを設定して確認することもできます。そのアカウントでメールを受け取った場合、システムがそれを除外するように設定されていない可能性があります。
受信システムの管理者に、よく受信したメールの返送を確認するように依頼することもできます(確認Webページをカールするスクリプト)が、それには多くの協力が必要です。その時点では、Webサービスを介してメッセージを配信する方が簡単かもしれません。
正常に送信する限り、私が覚えていれば、少なくとも受信メールサーバーによって受け入れられていると確信できます。
ウェブバグは、領収書のようなものを提供する場合があります。再質問。
SMTPプロトコルは非同期であるため、ユーザーのメールクライアントは保証されたフィードバックのみを返すことができます。配信に問題がある場合は、エンベロープ送信者(メールヘッダーReturn-Path)で定義されたアドレスにバウンスメールが返されます。これらのバウンスのタイミングは予測できず、未定義です。 HTMLメール本文のトラッキングピクセルは、ユーザーが実際にメールを開いたことを報告する最良の方法です。