【问题标题】:Fatal error: Uncaught exception .. using php SwiftMailer致命错误:未捕获的异常 .. 使用 php SwiftMailer
【发布时间】:2009-08-07 14:50:35
【问题描述】:

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

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

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

谢谢。

【问题讨论】:

    标签: php swiftmailer


    【解决方案1】:

    你需要像这样捕获异常

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 2013-07-07
            • 1970-01-01
            • 2014-08-26
            • 2018-11-15
            • 2023-03-18
            • 1970-01-01
            • 1970-01-01
            • 2015-06-10
            相关资源
            最近更新 更多