我使用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的事情,这是一个例外事情。

其他提示

另外,还可以在发送之前验证该电子邮件:

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

我认为,这意味着给定的电子邮件地址不尊重电子邮件adressess标准。

如果根据你的错误信息看电邮地址是有效的,确保有在地址没有前导或尾随空格。例如。运行修整($ EMAIL_ADDRESS)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top