如何在phpmailer中禁用错误消息



我使用phpmailer作为带有附件的联系人表单,在php中我构建了自己的错误消息。表单和电子邮件工作正常,但当没有填写电子邮件地址,也没有选择上传文件时,我从phpmailer 收到了这些错误消息

Invalid address: Could not access file:

这是我现在使用的phpmailer的代码:

// Software: PHPMailer - PHP email class                                    |
// Version: 5.1 
require('phpmailer/class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = FALSE;
$mail->Port     = 25;  
$mail->Host     = "localhost";
$mail->Mailer   = "smtp";
$mail->SetFrom($_POST["user_email"], $_POST["user_name"]);
$mail->AddAddress("myname@myemailcom"); 
$mail->Subject = "Contactform";
$mail->WordWrap   = 80;
$mail->MsgHTML($_POST["user_message"]);
if(is_array($_FILES)) {
$mail->AddAttachment($_FILES['user_attachment']['tmp_name'],$_FILES['user_attachment']['name']); 
}
$mail->IsHTML(true);
if(!$mail->Send()) {
echo 'some error message';
}
else {
echo 'success message';
}

经过一些研究,我试图添加:

$phpmailer->SMTPDebug=false; // without result

我如何才能摆脱这些内置的错误消息?

首先,您运行的是一个非常旧版本的PHPMailer,它已经过时,并使您的网站暴露在一些主要漏洞中。在执行其他操作之前,请升级。我还建议您以PHPMailer提供的当前示例为基础编写代码。

在您发布的代码中,您根本没有启用调试输出(默认情况下是关闭的(,所以我怀疑可能还有其他代码没有显示。您还没有显示调试输出的样子,所以我们无法判断是否真的是PHPMailer在生成它

PHPMailer实例被称为$mail,而不是$phpmailer,并且SMTPDebug属性是一个整数,所以将该行更改为:

$phpmailer->SMTPDebug = 0;

相关内容

  • 没有找到相关文章

最新更新