Php 如何检查PEAR邮件SMTP身份验证失败

Php 如何检查PEAR邮件SMTP身份验证失败,php,smtp,pear,Php,Smtp,Pear,我正在构建一个SMTP电子邮件框架,该框架将具有用于发送电子邮件的默认用户名和密码(使用PHP的PEAR mail),但我希望具有提供用于发送电子邮件的备用电子邮件帐户凭据的功能 因此,为了进行调试,我需要能够确定电子邮件无法发送的原因。是否有人知道一个易于确定的故障是由于身份验证问题造成的 我使用无效密码运行了一个测试用例。显然,要检查错误: if (PEAR::isError($mail)) { echo("<p>" . $mail->getMessage() .

我正在构建一个SMTP电子邮件框架,该框架将具有用于发送电子邮件的默认用户名和密码(使用PHP的PEAR mail),但我希望具有提供用于发送电子邮件的备用电子邮件帐户凭据的功能

因此,为了进行调试,我需要能够确定电子邮件无法发送的原因。是否有人知道一个易于确定的故障是由于身份验证问题造成的

我使用无效密码运行了一个测试用例。显然,要检查错误:

if (PEAR::isError($mail)) {
    echo("<p>" . $mail->getMessage() . "</p>");
} else {
    echo("<p>Message successfully sent!</p>");
}
因此,我可以简单地解析这个字符串并确定它是一个“身份验证失败”,但前提是我确信当身份验证失败时,这将始终是响应。我向大家提出的问题是,如果身份验证失败,我是否可以期望始终返回此消息,或者是否有人知道在尝试发送电子邮件之前或之后验证登录凭据的更简单解决方案?

除其他外,对象具有分别获取错误代码和消息的方法:

在邮件包的情况下,错误代码是一个SMTP错误代码,记录在。

中。除其他外,对象具有分别获取错误代码和消息的方法:


在邮件包案例中,错误代码是一个SMTP错误代码,记录在。

if($Mail->getCode()==535){failed!}
此代码列表与Marc的注释非常吻合:很好,有没有什么地方我可以查看所有的回复代码…我在网上查看了一下,但找不到完整的解决方案。@Darkwater23谢谢…在看到你的评论之前发布了我的评论。
if($mail->getCode()==535){failed!}
这个代码列表与Marc的评论非常吻合:很好,有没有什么地方可以让我查看所有的回复代码…我在网上查看了一下,但找不到完整的解决方案。@Darkwater23谢谢…在看到你的回复代码之前发表了我的评论。
authentication failure [SMTP: Invalid response code received from server (code: 535, response: 5.7.3 Authentication unsuccessful)]