1

会社の Web サイトの開発を引き継いだのですが、機能しないパスワード リセット フォームがあり、それがわかりません。PHPMailer を使用して、ユーザーの電子メール アドレスにリセット キーを送信します。PHP クエリはデータベースに問題がなく、ユーザーの正しいメール アドレスとリセット キーを返します。

<?php
require_once('./library.php');
require_once('./PHPMailer/class.phpmailer.php');

$Trader = new CompanyTrader();

$resetdata = $Trader->resetTrader($_GET['name']);
print_arr($resetdata);

    $reset = new PHPMailer(true);
    $reset->IsSMTP();

    try {
            $reset->Host = EM_HOST;
            $reset->SMTPDebug = 2; //2 to debug
            $reset->SMTPAuth = EM_AUTH;
            $reset->AddReplyTo(CONFIRM_REPLY_EMAIL, 'Company');
            $reset->AddAddress($resetdata['traders_email_add'], $resetdata['traders_cont_name']);
            $reset->SetFrom(CONFIRM_REPLY_EMAIL, 'Company');
            $reset->Subject = 'Company Account Password Reset';
            $reset->AltBody = 'To view the message, please use an HTML compatible email viewer!';
            $body = file_get_contents('./templates/reset_email.html');
            $body = eregi_replace("\[USER_NAME\]", $resetdata['traders_user_name'], $body);
            $body = eregi_replace("\[RESET_KEY\]", $resetdata['traders_reset'], $body);
            $reset->MsgHTML($body);
            $reset->Send();
    } catch (phpmailerException $e) {
            @log_this("Pass Reset Sending Failed: ".$e->errorMessage(),"email");
            return false;
    } catch (Exception $e) {
            @log_this("Pass Reset Sending Failed: ".$e->getMessage(),"email");
            return false;
    }
?>

PHPMailer は次のようなエラーを返します。

SMTP -> FROM SERVER:220-78.109.170.70.srvlist.ukfast.net ESMTP Exim 4.80 #2 Wed, 26 Dec 2012 21:41:58 +0000 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail. 
SMTP -> FROM SERVER: 250-78.109.170.70.srvlist.ukfast.net Hello localhost.localdomain [127.0.0.1] 250-SIZE 52428800 250-8BITMIME 250-PIPELINING 250-AUTH PLAIN LOGIN 250-STARTTLS 250 HELP 
SMTP -> FROM SERVER:250 OK 
SMTP -> FROM SERVER:250 Accepted 
SMTP -> FROM SERVER:354 Enter message, ending with "." on a line by itself 
SMTP -> FROM SERVER:250 OK id=1Tnyje-0000Kh-IL 

私はそれを解決することはできません。ホストが送信できるメールの量を制限しているためですか? その場合、他のすべての PHPMailer フォームが機能し、すべての設定がサイト全体で同じになります。ありがとう。

4

1 に答える 1

0

入力した SMTP 情報に基づいて、メッセージはリレーしていることを示しています。スパム フォルダを確認するか、メール プロバイダに連絡してメッセージを追跡してください。

于 2012-12-26T22:47:15.500 に答える