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

时间:2009-08-07 14:50:36

标签: php swiftmailer

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

   Fatal error: Uncaught exception 'Swift_RfcComplianceException' with message 
'Address in mailbox given [asdf] does not comply with RFC 2822,

我对OO不是很有经验..所以不确定如何处理?实际上我只是希望它失败,如果电子邮件地址无效但它不应该抛出致命的错误消息。有什么建议吗?

感谢。

4 个答案:

答案 0 :(得分:3)

您需要捕获异常,例如

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

这不是OO的事情,它是exceptions的事情。

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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