【问题标题】:Possible PHPMailer Error messages for better error handling可能的 PHPMailer 错误消息,以便更好地处理错误
【发布时间】:2021-05-27 21:10:41
【问题描述】:

我知道如果邮件失败,PHPMailer 会给你一个错误:

    if (!$mail->send()) {
      echo "Mailer Error: " . $mail->ErrorInfo) . PHP_EOL;
    }

我可以对 $mail->send 使用“try/catch”处理。

但是有没有我可以用来更好地处理错误的 PHPMailer 错误消息列表?我查看了 PHPMailer 文档,并在此处和其他地方进行了搜索,但没有找到可能的错误的完整列表。 (2015年有这个问题phpmailer error codes for outcome processing,但答案对我没有帮助。)

或者错误信息是否依赖于邮件服务器?

我想捕获某些错误,例如无效的电子邮件或“邮件发送错误”等。并且可能会忽略一些错误(尽管我不确定要避免哪些错误,因为我找不到可能的错误列表)。

我想我可以挖掘源代码来找到它们,但想知道是否有人已经编译了这些信息。

因此,寻找 PHPMailer ErrorInfo 值 - 或用于捕获错误的代码

【问题讨论】:

  • 无效的电子邮件应该更早地被捕获 - addAddress 将返回 false 或抛出异常。在您尝试发送之前无法确定许多错误,并且在某些情况下,PHP 很难找到失败的原因,例如与 TLS 相关的任何事情,您通常只能看到错误的后果,而不是错误本身。配置 PHPMailer 的最佳方式是使用 SMTP 发送到 localhost,然后让本地邮件服务器处理转发传递。它比直接发送更快、更安全、更可靠。
  • @miken32 帮助不大。无论出现什么问题,PHPMailer 都会抛出一个通用的异常。问题是(恕我直言)如何从这个异常中提取可操作的信息。

标签: php email phpmailer


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 2018-10-26
  • 1970-01-01
  • 1970-01-01
  • 2011-01-24
  • 1970-01-01
相关资源
最近更新 更多