Как отправить сообщение на ICQ используя PHP

Можно легко переделать программу отправки сообщений на пейджер (например через page.gate.ru), SMS и другое. При умении анализировать ответ сервера, можно вырезать анекдоты c anecdot.ru или курс доллара с rbc.ru.В статье приведен лишь необходимый минимум для решения поставленной перед нами задачи - отправления сообщений на ICQ:

сформировать запрос из разных полей;
открыть сокет;
записать запрос;

<?php
flush();

// нужно заполнить поля
$from='Dmitry Borodin';
$fromemail='ваш_email@softportal.com';
$subject='Тема сообщения';
$to='00000000'; // />-- номер. (Уверен, что кто-нибудь не догадается прописать :)
$body='само сообщение';

$submit='Send Message'; // НЕ РЕДАКТИРОВАТЬ
$ref="http://wwp.icq.com/$to"; // НЕ РЕДАКТИРОВАТЬ

// формирование заголовка
$PostData=
"from=".urlencode($from)."&".
"fromemail=".urlencode($frommail)."&".
"subject=".urlencode($subject)."&".
"body=".urlencode($body)."&".
"to=".urlencode($to)."&".
"submit=".urlencode($submit);

$len=strlen($PostData);

$nn="
";
$zapros=
"POST /scripts/WWPMsg.dll HTTP/1.0".$nn.
"Referer: $ref".$nn.
"Content-Type: application/x-www-form-urlencoded".$nn.
"Content-Length: $len".$nn.
"Host: wwp.icq.com".$nn.
"Accept: */*".$nn.
"Accept-Encoding: gzip, deflate".$nn.
"Connection: Keep-Alive";.$nn.
"User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT)".$nn.
"".$nn.
"$PostData";

echo $zapros." ------------- ";
flush();

// открываем сокет и шлем заголовок
$fp = fsockopen("wwp.icq.com", 80, &$errno, &$errstr, 30);
if(!$fp) { print "$errstr ($errno)
"; exit; }

// для наглядности выводим заголовок ответа и страницу на экран
fputs($fp,$zapros);
print fgets($fp,20048);
fclose($fp);
?/>