6

以下の問題の解決策を知っている人はいますか

私のプロジェクトでは、smtp と php メーラーと gmail スクリプトを使用してクライアントにメールを送信しています。そのため、メールを送信するとき gmail 特定のクライアントにメールを送信します。そのために、有効なgmailログインとユーザー名を渡しています。すべてのメールは正しく送信されています。しかし、一部のクライアントがメールを受信しない場合があり、その時点でエラーを取得または追跡できません。だから私はクライアントにメールを送信しているとき、そしてクライアントがそれを受け取ってその時にそれを読んだとき、私は何らかの種類の確認を得ました。

誰かが何か考えを持っているなら、私を助けてください。

4

3 に答える 3

1
<?php
/**
* Simple example script using PHPMailer with exceptions enabled
* @package phpmailer
* @version $Id$
*/

require ('../class.phpmailer.php');

try {
        $mail = new PHPMailer(true); //New instance, with exceptions enabled

        $body             = "Please return read receipt to me.";
        $body             = preg_replace('/\\\\/','', $body); //Strip backslashes

        $mail->IsSMTP();                           // tell the class to use SMTP
        $mail->SMTPAuth   = true;                  // enable SMTP authentication
        $mail->Port       = 25;                    // set the SMTP server port
        $mail->Host       = "SMTP SERVER IP/DOMAIN"; // SMTP server
        $mail->Username   = "EMAIL USER ACCOUNT";     // SMTP server username
        $mail->Password   = "EMAIL USER PASSWORD";            // SMTP server password

        $mail->IsSendmail();  // tell the class to use Sendmail

        $mail->AddReplyTo("someone@something.com","SOMEONE");

        $mail->From       = "someone@something.com";
        $mail->FromName   = "SOMEONE";

        $to = "other@something.com";

        $mail->AddAddress($to);

        $mail->Subject  = "First PHPMailer Message[Test Read Receipt]";

        $mail->ConfirmReadingTo = "someone@something.com"; //this is the command to request for read receipt. The read receipt email will send to the email address.

        $mail->AltBody    = "Please return read receipt to me."; // optional, comment out and test
        $mail->WordWrap   = 80; // set word wrap

        $mail->MsgHTML($body);

        $mail->IsHTML(true); // send as HTML

        $mail->Send();
        echo 'Message has been sent.';
} catch (phpmailerException $e) {
        echo $e->errorMessage();
}
?>

上記のスクリプトでいくつかの変更を行う必要があります。

  1. SMTP メール サーバーを構成します。

  2. 正しい FROM と FROM 名を設定します (someone@something.com、SOMEONE)

  3. 正しい TO アドレスを設定する

から

また

  1. PHP メールの配信レポートと開封確認
于 2013-04-06T05:58:02.597 に答える
0

メールアドレスに返信を追加して、エラーが発生した場合にメールが返されるようにします。また、メールが読まれた場合は、画像を含めて (1 ピクセルの空白の画像で十分です)、その画像に次のようなコードを追加します。その画像が受け取った、またはまったく受け取ったヒットの数を確認できます。

于 2013-04-06T05:50:48.627 に答える
0

メール機能に「Disposition-Notification-To」ヘッダーを使用するなど、2 つの異なる方法で確認できます。ほとんどの人は開封確認を送信しないことを選択しているため、すべての場合に機能するとは限りません。サーバーから、これが発生したかどうかに影響を与えることができれば、スパマーはアクティブな電子メール アドレスと非アクティブな電子メール アドレスを非常に簡単に特定できます。次のようにヘッダーを設定できます

$email_header .= "Disposition-Notification-To: $from"; 
$email_header .= "X-Confirm-Reading-To: $from";

確認するもう 1 つの方法は、画像を配置することです。その画像をオンロードするスクリプトを追加できます。そのスクリプトは、xxx ユーザーがメールを読んだという通知をシステムに送信します。そのようにして、メールの配信ステータスを追跡できます。郵便物。

実際、サーバーから要求され、アクセスされたとしてログに記録された画像を含めるか、ユーザーがアクセスする必要があるリンクを含めることにより、読み取られることを確認せずに配信されたことを確認する方法は考えられませんメッセージの完全な内容を参照してください。

どちらも保証されておらず (すべての電子メール クライアントが画像を表示したり、HTML を使用したりするわけではありません)、すべての「配信された」メッセージが読まれるわけではありません。

詳細についてはhttps://en.wikipedia.org/wiki/Email_tracking

于 2013-04-06T06:32:48.447 に答える