我有一个PHPMailer设置工作正常,但当我添加BCC时,它开始报告错误。我看不出究竟是什么导致了这个问题。
我收到了此错误报告:您必须至少提供一个收件人电子邮件地址。
奇怪的是,它正确地向两个收件人发送电子邮件,但从未改变我的'succes.php'页面。它只是简单地显示错误报告。
我几乎已经尝试过ADD和Clear的任何组合,但仍然会遇到一些问题。我现在面临的是,发送电子邮件,但仍然报告错误。
我的设置是这样的:
try {
// Ens for all
$mail->Host = 'localhost'; // SMTP server
$mail->AddReplyTo('no-reply@XXX.dk', '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))
答案 0 :(得分:0)
基本错误:
$mail->Send();
$mail->ClearBCCs();
$mail->ClearAddresses();
if(!$mail->Send()) {
您正在调用send()
,删除所有地址,然后再次调用send()
,因此错误。
您还将代码基于旧的,过时的示例,因此您可能正在运行旧版本的PHPMailer。 Get the latest