я могу общаться, используя функции imap в php, а также используя openssl из командной строки, я просто хотел попробовать это с помощью fsockopen () в php.мой код:
<?php
$sock=fsockopen('ssl://imap.gmail.com', '993',$errno, $errstr);
if(!$sock){
echo $errstr;
}
else{
fputs($sock,"a LOGIN user@gmail.com password\r\n");
$out=fgets($sock,2000);
fclose($sock);
echo $out;
}
?>
проблема в том, что я получаю только первый ответ от сервера в $ out
* OK Gimap ready for requests from **.***.63.101 jj5if832612pbc.164
и когда я изменяю код с помощью цикла while для fgets,он продолжает загружаться и в конце времени ничего не показывает.
<?php
$sock=fsockopen('ssl://imap.gmail.com', '993', $errno, $errstr);
if(!$sock){
echo $errstr;
}
else{
fputs($sock,"a LOGIN user@gmail.com password\r\n");
while(!feof($sock)){
$out.=fgets($sock,2000);
}
fclose($sock);
echo $out;
}
?>
Я хочу видеть ответ сервера в $ out после того, как я введу учетные данные для входа.Я могу просматривать свои электронные письма из командной строки, используя openssl, поэтому я думаю, что проблема не в моей обработке imap.может быть, я упускаю что-то базовое в файловых потоках.
спасибо.