我有一个PHPMailer设置工作良好,但当我添加密件时,它开始报告错误。我看不出究竟是什么导致了这个问题。
我得到了这个错误报告:你必须提供至少一个收件人电子邮件地址。
奇怪的是,它正确地向两个收件人发送电子邮件,但从未更改到我的' success .php'-page。它只是简单地显示错误报告。
我已经尝试了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))
基本错误:
$mail->Send();
$mail->ClearBCCs();
$mail->ClearAddresses();
if(!$mail->Send()) {
您正在调用send()
,删除所有地址,然后再次调用send()
,因此出现错误。
你的代码也基于一个旧的,过时的例子,所以你可能运行的是旧版本的PHPMailer。获取最新信息。