質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1774閲覧

PHPスクリプトでPHPメールを追跡できますか?

miku

総合スコア154

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

2クリップ

投稿2014/07/17 09:44

"PHPmail()関数を使ってニュースメールを送っています。

そこで、ニュースメールのステータスを追跡したいです。

ステータスは
1.送信した数
2.着信した数
3.着信した日
4.既読の総数
5.個別の既読数
6.既読にした日
7.差戻された数
8.メール上のリンクをクリックしたユーザーの総数
9.メール上のリンクをクリックしたユーザーの個別数

上記のステータスから、下のものは追跡できます。
1.→コードから送信されているので可能です。
8.→URLに追加のパラメータを与えたことで可能になりました。
9.→8と同様。

1、8、9以外のステータスを追跡するにはどうすればいいでしょうか?
ただ、メールの送信と追跡は同じサーバから行う必要があります(><)
ご面倒かもしれませんが、教えてください。"

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

"mail()関数から質問されているステータスを直接追跡するのは不可能です。技術的な話をすると、“送信”というのはメールがサーバー外のメールキューへうまく渡されたということを伝えているだけです。つまり、メールがサーバーから離れたとは実際に言えません。

1……メールサーバーログをチェックして、メールがいつサーバを離れるのか正確に把握する必要があります。

2,3……着信した数と日付に関しては、もう一度メールサーバーログをチェックしていつサードパーティーメールサーバーへメールが(成功して)渡されたのか確認しなければいけません。ですが、これらのステータスがどれだけ信頼できるかについては、あなたが着信の定義をどうするのかによります。(エンドユーザーのメールボックスに入ったとき、それともメールクライアントへ入ったとき?)

4,5,6……既読の総数、個別数、既読にした日付についてです。これらを正確に追跡することはできません。しかし、HTMLメールを送信する場合に、画像をメールに埋め込むことができ、その画像のソースはそちらのウェブサーバーにあります。それぞれの画像URLがメールを送った人ごとに特別な識別子を持っているとすれば、サーバーログからそれを辿れます。(またはPHP経由で、URLがPHPスクリプトで画像を返す場合)ですが、これはユーザーが外部のウェブサーバからの画像読み込みを許可するかどうかに左右されます。(例えばOutlookやGmailではこの機能はデフォルトでオフになっています)

7……アドレスをサーバー上のスクリプトになるように送信した場合は、差し戻されたメッセージとその数をパースできます。あるいは、フォームアドレスをメールボックスへ設定して手動でチェックするということもできます。

8, 9……メール中のそれぞれのリンクはあなたのウェブサーバーのURLへのリンクで無ければいけません。そのURLでクリックした人やその人が見たがるものを追跡し(クエリ変数を使います)、あなたが望むところへリダイレクトさせる(PHPのヘッダー関数)ことが出来ます。"

投稿2014/07/17 10:53

yamadayamada

総合スコア80

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miku

2014/07/24 04:06

やはり、4、5、6、はサーバから追跡することはできないのですね....。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問