我正在使用 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,这意味着你的代码没有问题(除了身份验证),问题出在服务器配置上。