用于结果处理的phpmailer错误代码



我正在构建一个mailout功能,目前它运行良好。但是,我想区分各种潜在(高级别)结果,以便确定在当前发送尝试之后每条消息会发生什么。

这一定是一个常见的要求,所以我似乎错过了一些非常明显的东西,但我找不到任何能解决这个问题的东西,无论是在这里,还是通过谷歌,或者在PHPMailer网站上,或者。可能是因为有太多关于特定错误的问题,我在所有其他结果中都找不到有用的东西。

非常高级别:
尝试发送,并评估由此产生的错误/结果。标识此消息是已发送、必须稍后重试还是永久失败
-success->将消息状态更新为"发送:确定"
-已发送,但存在一些问题(例如,一个收件人失败,其他收件人处理正常)->"发送:一些错误"
-失败,由于临时问题(例如连接问题、附件打开)->"稍后再试"
-失败,由于消息特定的问题,我们不应该尝试重新发送->"失败:一些错误"

由于我无法找到一个现有的资源,例如错误表,我花了一些时间处理phpmailerException代码,试图自己构建一个,但这并不简单,因为a)它们似乎不是按照这种分组逻辑设计的,b)唯一识别特定错误并不容易:PHPMailer提供了人性化的消息,在不同的语言中是不同的,而不是一个可识别的代码-考虑到我的解决方案需要跨不同的语言安装工作,这是一个问题!

显然,SMTP本身提供了一系列错误代码,我可能会将其用于此目的,但我如何通过PHPMailer访问这些代码?(这对我来说是有效的,因为我现在只使用SMTP-但是,如果使用其他消息传输(如sendmail),这将不起作用,所以我更喜欢PHPMailer解决方案)

如果您想要针对单个地址的单个结果代码,那么您确实需要分别发送每条消息。如果您确实在某些收件人上收到错误,它们将列在ErrorInfo属性中-查看smtpSend函数中的错误字符串是如何组合的。我同意解析这些信息并不是特别容易。PHPMailer中的错误消息通常更多地针对开发人员而非最终用户,因此翻译并没有那么重要。如果启用异常而不是仅依赖于返回值,则可以获得更多关于错误的信息。

相关内容

最新更新