致命错误:未捕获的异常..使用php SwiftMailer
问题描述:
我使用SwiftMailer发送邮件,如果我尝试使用虚拟电子邮件地址,例如,如果我在电子邮件地址中输入“asdf”,则会得到此未捕获的异常。致命错误:未捕获的异常..使用php SwiftMailer
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的东西,它是一个exceptions的事情。
答
如果根据您在错误消息中看到的内容确定电子邮件地址有效,请确保地址中没有前导或尾随空格。例如。运行trim($ email_address)。
答
此外,您还可以在发送之前验证电子邮件:
if(!Swift_Validate::email($email)){ //if email is not valid
//do something, skip them
$log_error->log($email);
}
你就在那里..感谢它的工作。 – TigerTiger 2009-08-07 15:07:17