2

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

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

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

谢谢。

4

4 回答 4

3

您需要像这样捕获异常

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

这不是面向对象的事情,而是例外的事情。

于 2009-08-07T14:53:49.267 回答
1

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

if(!Swift_Validate::email($email)){ //if email is not valid
                //do something, skip them
                $log_error->log($email);
}
于 2013-07-16T14:10:13.090 回答
0

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

于 2009-08-07T14:54:48.267 回答
0

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

于 2012-10-04T01:23:25.090 回答