Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
致命错误:未捕获异常。。使用php SwiftMailer_Php_Swiftmailer - Fatal编程技术网

致命错误:未捕获异常。。使用php SwiftMailer

致命错误:未捕获异常。。使用php SwiftMailer,php,swiftmailer,Php,Swiftmailer,我使用SwiftMailer发送邮件,如果我尝试使用虚拟电子邮件地址,例如,如果我在电子邮件地址中键入“asdf”,我会得到这个未捕获的异常 Fatal error: Uncaught exception 'Swift_RfcComplianceException' with message 'Address in mailbox given [asdf] does not comply with RFC 2822, 我对OO不是很有经验。。所以我不知道该怎么处理?事实上,我只是希望它

我使用SwiftMailer发送邮件,如果我尝试使用虚拟电子邮件地址,例如,如果我在电子邮件地址中键入“asdf”,我会得到这个未捕获的异常

   Fatal error: Uncaught exception 'Swift_RfcComplianceException' with message 
'Address in mailbox given [asdf] does not comply with RFC 2822,
我对OO不是很有经验。。所以我不知道该怎么处理?事实上,我只是希望它失败,如果电子邮件地址是无效的,但它不应该抛出致命的错误消息。有什么建议吗


谢谢。

您需要捕获异常,如下所示

try
{
    // Your code to send the email
}
catch (Swift_RfcComplianceException $e)
{
    print('Email address not valid:' . $e->getMessage());
}

这不是一个OO问题,而是一个问题。

我认为这意味着给定的电子邮件地址不符合电子邮件地址标准。

如果根据错误消息中的内容,电子邮件地址是有效的,请确保地址中没有前导空格或尾随空格。例如,运行trim($email\u address)。

此外,您可以在发送电子邮件之前验证电子邮件:

if(!Swift_Validate::email($email)){ //if email is not valid
                //do something, skip them
                $log_error->log($email);
}