![]() |
Мыло через socket в PHP
Народ, помогите, пожалуйста!
Решил написать простецкий скрипт отправки почты. Проверил nslookup-ом сервера обмена почтой на Mail.ru. код PHP Код:
<?php220 Mail.Ru ESMTP 250 mx20.mail.ru ready to serve Но мыло не приходит. |
Код:
$host="mxs.mail.ru";Код:
$host="smtp.mail.ru"; |
Цитата:
И еще с этим скриптом неясно - при попытке прочтения из сокета более двух строк - скрипт не завершает работу. То есть, если читать а-ля while(!feof($f)) { print(fgets($f)); } - подвисает, и все. |
function mail($login, $passwd, $to, $subj, $text){
$fp=fsockopen("smtp.mail.ru", 25); if($fp){ $post[]="HELO mail.ru\r\n"; $post[]="AUTH LOGIN ".base64_encode($login)."\r\n"; $post[]=base64_encode($passwd)."\r\n"; $post[]="MAIL FROM: ".$login."@mail.ru\r\n"; $post[]="RCPT TO: ".$to."\r\n"; $post[]="DATA\r\n"; $post[]="From: ".$login."@mail.ru\r\n"; $post[]="Date: ".date('r')."\r\n"; $post[]="To: ".$to."\r\n"; $post[]="Subject: ".$subj."\r\n"; $post[]="MIME-Version: 1.1\r\n"; $post[]="Content-type: text; charset=windows-1251\r\n"; $post[]="Content-Transfer-Encoding: 8bit\r\n"; $post[]="\r\n"; $post[]=$text."\r\n.\r\n"; $post[]="QUIT\r\n"; foreach($post AS $k=>$v) { fwrite($fp, $v); if($k<7 || $k>14){$answ = fgets($fp, 128);} } fclose($fp); } } |
Спасибо огромное!
|
2 madnet
Где-то я уже эту функцию видел %))) |
| Время: 21:54 |