0

ループしているメーラー スクリプトがあり、サーバーからの送信メールを処理しています。時々、次のエラーでハングアップします。

PHP Fatal error: Uncaught exception 'phpmailerException' with message 'SMTP Error: Data not accepted.'

これにより、メッセージのリマインダーが完了する前にスクリプトが停止します。

メールを開始するコードは次のとおりです。

$message = new \PHPMailer(true);
$message -> IsSMTP();
try
{
    $message -> SMTPAuth = true;
    $message -> Host = Config::HOST;
    $message -> Port = Config::PORT;
    $message -> Username = $account;
    $message -> Password = Config::PASS;
    $message -> AddReplyTo($account, Config::NAME);
    $message -> SetFrom($account, Config::NAME);
    $message -> AddAddress($recipient[0], $recipient[1]." ".$recipient[2]);
    $message -> Subject = $recipient,$this->subject;
    $message -> AltBody = 'Please enable HTML viewing in order to view this message. Thank you.';
    $message -> MsgHTML($recipient,$this->body);
    if($attachment !== false)
        $message->AddAttachment($attachment);
    $message -> Send();
}
catch (phpmailerException $e)
{
    return $error -> errorMessage();
}
catch (Exception $e)
{
    return $error -> getMessage();
}

例外をキャッチしていないようです。どうすればこの状態から正常に回復できますか?

編集

以下に示すように、これは名前空間の問題でした。

4

1 に答える 1

4

ほとんどの場合、名前空間エラー-最も卑劣なエラーです。

catch (\phpmailerException $e)
于 2012-05-07T06:07:02.137 に答える