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

时间:2013-07-17 18:12:14

标签: php smtp pear

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

因此,为了进行调试,我需要能够确定无法发送电子邮件的原因。有谁知道很容易确定失败是由于身份验证问题?

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

if (PEAR::isError($mail)) {
    echo("<p>" . $mail->getMessage() . "</p>");
} else {
    echo("<p>Message successfully sent!</p>");
}

错误信息为:

authentication failure [SMTP: Invalid response code received from server (code: 535, response: 5.7.3 Authentication unsuccessful)]

因此,我可以简单地解析此字符串并确定它是“身份验证失败”,但只有在我确信这将始终是身份验证失败时的响应时。我的问题是,如果出现身份验证失败,或者有人知道在尝试发送电子邮件之前或之后验证登录凭据的更简单的解决方案,我是否可以期望始终返回此消息?

1 个答案:

答案 0 :(得分:1)

PEAR_Error对象包括 - 分别获取错误代码和消息的方法:

在Mail包中,错误代码是SMTP错误代码,记录在RFC 5321中。