Ответов: 5 Просмотров: 0
|
Gori пишет:Sep 2 16:03:51 fcgp02.mail.nic.ru Sep 02 16:03 fcgp02.nicmail.ru 16:03:51.306 1 SMTPI-073085([212.193.234.131]) dropping: got pre-prompt data:
Судя по данным сообщениям, Ваш скрипт отправляет данные одним потоком, не дожидаясь ответа сервера. В данной ситуации рекомендуем обратиться к разработчику скрипта для настройки ожидания ответа от SMTP-сервера во время сессии отправки.
Нужно добавить для сокета возможные задержки при передаче (добавить в код строку для возможных задержек)
CODE:if ($SMTPIN = fsockopen ($this->SmtpServer, $this->PortSMTP))
{
$tval = 3; // максимальное количество времени ожидания ответа сервера в секундах
socket_set_timeout($SMTPIN, $tval, 0);
...
(Добавление)
и вместо
CODE:fgets ( $SMTPIN, 1024 );
нужно использовать
CODE:$data = "";
while($str = fgets($SMTPIN,515)) {
$data .= $str;
# if the 4th character is a space then we are done reading so just break the loop
if(substr($str,3,1) == " ") { break; }
}
в $data и будут считанные данные |