在使用PHPmailer parseAddresses函数时,我正试图在我的一个脚本中删除以下消息:
注意:未知:必须使用逗号分隔地址:第0行的未知中的xxx(errflg = 3)
$mailer = new PHPMailer(true);
try {
$a = $mailer->parseAddresses('aaa@aaa.aaa xxx');
}
finally {
...
}
我正在使用PHP 7.0.8以及以下错误处理预设:
declare(strict_types = 1);
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');
我知道我可以阻止显示错误,但这似乎不是正确的方法。当然我知道我的例子中提供的电子邮件地址不正确......
答案 0 :(得分:0)
我不确定你在抱怨什么:当你提供错误输入时,它告诉你输入信息不正确!避免错误的方法不是传递格式错误的输入!
正如错误所说,它期望以逗号分隔的RFC822格式(不是您提供的格式)中的一个或多个地址,这可能类似于:
xxx <aaa@aaa.aaa>, yyy <bbb@aaa.aaa>
如果您不提供该格式的数据,则会在您看到时抱怨。 parseAddress
方法涵盖in the docs。
您是否希望它能做其他事情?
答案 1 :(得分:0)
PHPMailer会在输出中写入通知,因此您可以启动输出缓冲区,并在调用后将其刷新。像这样:
$mailer = new PHPMailer(true);
try {
ob_start();
$a = $mailer->parseAddresses('aaa@aaa.aaa xxx');
//$notices = ob_get_contents();
ob_end_clean();
}
finally {
...
}
答案 2 :(得分:0)
我不得不处理同样的问题。只需创建一个自制的解决方案,即可以更灵活的方式完成大多数相同的事情。对于任何有兴趣的人:
@connection
应该自我解释