我正在使用SwiftMailer发送邮件,如果我尝试使用虚拟电子邮件地址,例如,如果我在电子邮件地址中键入“asdf”,我会收到此未被捕获的异常。
Fatal error: Uncaught exception 'Swift_RfcComplianceException' with message
'Address in mailbox given [asdf] does not comply with RFC 2822,
我对OO不是很有经验..所以不确定如何处理?实际上我只是希望它失败,如果电子邮件地址无效但它不应该抛出致命的错误消息。有什么建议吗?
感谢。
答案 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)。