"mail()関数から質問されているステータスを直接追跡するのは不可能です。技術的な話をすると、“送信”というのはメールがサーバー外のメールキューへうまく渡されたということを伝えているだけです。つまり、メールがサーバーから離れたとは実際に言えません。
1……メールサーバーログをチェックして、メールがいつサーバを離れるのか正確に把握する必要があります。
2,3……着信した数と日付に関しては、もう一度メールサーバーログをチェックしていつサードパーティーメールサーバーへメールが(成功して)渡されたのか確認しなければいけません。ですが、これらのステータスがどれだけ信頼できるかについては、あなたが着信の定義をどうするのかによります。(エンドユーザーのメールボックスに入ったとき、それともメールクライアントへ入ったとき?)
4,5,6……既読の総数、個別数、既読にした日付についてです。これらを正確に追跡することはできません。しかし、HTMLメールを送信する場合に、画像をメールに埋め込むことができ、その画像のソースはそちらのウェブサーバーにあります。それぞれの画像URLがメールを送った人ごとに特別な識別子を持っているとすれば、サーバーログからそれを辿れます。(またはPHP経由で、URLがPHPスクリプトで画像を返す場合)ですが、これはユーザーが外部のウェブサーバからの画像読み込みを許可するかどうかに左右されます。(例えばOutlookやGmailではこの機能はデフォルトでオフになっています)
7……アドレスをサーバー上のスクリプトになるように送信した場合は、差し戻されたメッセージとその数をパースできます。あるいは、フォームアドレスをメールボックスへ設定して手動でチェックするということもできます。
8, 9……メール中のそれぞれのリンクはあなたのウェブサーバーのURLへのリンクで無ければいけません。そのURLでクリックした人やその人が見たがるものを追跡し(クエリ変数を使います)、あなたが望むところへリダイレクトさせる(PHPのヘッダー関数)ことが出来ます。"
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/07/24 04:06