2016-09-27 80 views
-1

我有一个PHPMailer设置工作正常,但是当我添加BCC时,它开始报告错误。我看不到究竟是什么造成这个问题。PhPMailer - 您必须提供至少一个收件人的电子邮件地址 - 但无论如何发送邮件

我有这个错误报告:您必须提供至少一个收件人的电子邮件地址。

奇怪的是,它将电子邮件正确地发送给两个收件人,但从未改变到我的'succes.php'页面。它只是简单地显示错误报告。

我已经尝试过ADD和Clear的几乎任何组合,但不断遇到一些问题。我现在面对的是发送电子邮件,但仍然报告错误。

我的设置是这样的:

try { 
     // Ens for all 
     $mail->Host  = 'localhost'; // SMTP server 
     $mail->AddReplyTo('[email protected]', 'XXX Mailer'); 
     $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; 
     $mail->AddAddress("$email"); 
     $mail->AddBCC("$bcc"); 
     $mail->Subject = "$subject"; 
     $mail->MsgHTML($message); 
     $mail->Send(); 
     $mail->ClearBCCs(); 
     $mail->ClearAddresses(); 
     if(!$mail->Send()) { 
      header('Location: fejl.php'); 
     } else { 
      header('Location: succes.php'); 
     } 

    } catch (phpmailerException $e) { 
     echo $e->errorMessage(); //Pretty error messages from PHPMailer 
    } catch (Exception $e) { 
     echo $e->getMessage(); //Boring error messages from anything else! 
    } 
} // end of if !mail 

else { //report the errors 
    echo 'TEST ERRORS'; 
    foreach ($errors as $msg) { //prints each error 
     echo " - $msg<br />\n";; 
    } // end of foreach 
    echo 'End'; 
} //end of if(empty($errors)) 
+1

一些明智的代码缩进将是一个好主意。它可以帮助我们阅读代码,更重要的是,它可以帮助您**调试您的代码** [快速浏览编码标准](http://www.php-fig.org/psr/psr-2/ )为了您自己的利益。您可能会被要求在几周/几个月内修改此代码 ,最后您会感谢我。 – RiggsFolly

+0

AddRecipeient ??? – user1735921

回答

0

基本误差:

$mail->Send(); 
    $mail->ClearBCCs(); 
    $mail->ClearAddresses(); 
    if(!$mail->Send()) { 

你打电话send(),删除所有地址,然后再调用send(),因此错误。

您还将代码放在旧的过时示例上,因此您可能正在运行旧版本的PHPMailer。 Get the latest

相关问题