Отправка почты через Zend_Mail_Transport_Smtp выдает ошибку 5.7.1
Я использую Zend Framework и я пишу следующий код для отправки почты от другого сервера. Но я не знаю, почему он вызывает следующее исключение.
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;
}
И когда я пытаюсь отправить почту, я получаю thw следующую ошибку на моем try catch... Как исправить это?? Спасибо за помощь заранее...
1 ответ
Сообщение 5.7.1 указывает, что сервер ретрансляции SMTP не может или не будет перенаправлять ваш трафик. наиболее распространенная причина - плохая аутентификация (верно ли ваше имя пользователя и пароль?). к сожалению, другие причины этой ошибки многочисленны, и почти все они находятся на стороне сервера (ретрансляция отключена глобально, ретрансляция не разрешена для конкретного пользователя, ретрансляция из отправляющей сети не разрешена и т. д.).
Люди из Mozilla объясняют это довольно хорошо: http://kb.mozillazine.org/5.7.1_Unable_to_relay
в вашем случае, просто основываясь на сообщении, похоже, что ваш SMTP-сервер использует некую форму программного обеспечения для защиты от утечек, которая полностью запрещает SMTP-ретрансляцию, предполагая, что это кто-то пытается обойти другие установленные политики / защиты. То, что вы получили 5.7.1 вообще, означает, что ваш код был в порядке (кроме, возможно, аутентификации), и проблема заключается в конфигурации сервера.