通过 Zend_Mail_Transport_Smtp 发送邮件出现 5.7.1 错误

通过 Zend_Mail_Transport_Smtp 发送邮件出现 5.7.1 错误

我正在使用 zend 框架,并编写了以下代码从另一台服务器发送邮件。但不知道为什么它会引发以下异常。

5.7.1 此电子邮件已被阻止。电子邮件信息似乎包含数据泄露

我正在使用以下代码

公共函数 sendMail($a_Subject,$a_Message,$a_toMail,$a_toName,$a_frmMail,$a_frmName){

    $theConfig  =   array('auth' => 'login',
                    'username' => 'someusername.ocm',
                    'password' => 'somepass');
    $objTranpt  =   new Zend_Mail_Transport_Smtp('somehost.net', $theConfig);
    $mailObj    =   new Zend_Mail();

    $mailObj->setBodyHtml($a_Message);
    $mailObj->setFrom($a_frmMail, $a_frmName);
    $mailObj->addTo($a_toMail,$a_toName);
    $mailObj->setSubject($a_Subject);
    $mailObj->send($objTranpt);

    return true;
}

当我尝试发送邮件时,在尝试捕获时出现以下错误。如何解决这个问题?提前感谢您的帮助......

答案1

5.7.1 消息表示 SMTP 中继服务器无法或不会转发您的流量。最常见的原因是身份验证不正确(您的用户名和密码正确吗?)。不幸的是,导致此错误的其他原因有很多,并且几乎都是在服务器端(全局禁用中继、不允许特定用户中继、不允许从发送网络中继等)。

Mozilla 的人们对此进行了很好的解释:http://kb.mozillazine.org/5.7.1_Unable_to_relay

就你的情况而言,仅根据消息来看,你的 SMTP 服务器似乎正在使用某种形式的泄漏保护软件,该软件会全面拒绝 SMTP 中继,假设有人试图绕过其他已建立的策略/保护。你得到的是 5.7.1,这意味着你的代码没有问题(除了身份验证),问题出在服务器配置上。

相关内容