PHPMailer异常另存为.eml

时间:2018-04-10 13:46:21

标签: php exception-handling phpmailer

我做了一个发送电子邮件的代码,但是SMTP连接的参数需要用户设置,所以我在代码中检查检查异常。

我怀疑有没有办法让消息创建并保存在.EML格式上,使用PHPMailer稍后再试?

        try
    {
        if (!$mail->send())
        {
            $this->setErrorDescription($mail->ErrorInfo);
            toLogAdmin(__CLASS__ . '.' . __FUNCTION__ . ' => Erro ao enviar a mensagem de teste de conexão usando ' . $server_name . ' na porta ' . $server_port . ' e usuario ' . $username . ', erro : ' . $mail->ErrorInfo, true);
            return false;
        }
    }
    catch(Exception $exception)
    {
        $this->setErrorDescription($mail->ErrorInfo);
        toLogAdmin(__CLASS__ . '.' . __FUNCTION__ . ' => Excecao ao enviar a mensagem de teste de conexao de email ' . $server_name . ' na porta ' . $server_port . ' e usuario ' . $username . ', erro : ' . $mail->ErrorInfo, true);
        return false;
    }

1 个答案:

答案 0 :(得分:0)

您可以通过致电getSentMIMEMessage()获取完整的RFC822消息,但我建议您不要这样做。保存所有电子邮件参数,以便您可以再次创建邮件,或者更好的是,安装本地邮件服务器并通过它进行交付,这将负责重试,以及邮件服务器的所有其他内容。用PHP编写邮件服务器毫无意义,这几乎就是你提出的建议。