Andrey_P
Guest
e-mail - sms обмен опытом (запостил весь код, потому только для интересующихся темой)
--------структура таблицы---------
# phpMyAdmin MySQL-Dump
# version 2.3.3pl1
# http://www.phpmyadmin.net/ (download page)
#
# Хост: host.ru:3306
# Время создания: Янв 03 2003 г., 19:12
# Версия сервера: 3.23.51
# Версия PHP: 4.2.2
# БД : `abcd`
# --------------------------------------------------------
#
# Структура таблицы `smsforallusers`
#
CREATE TABLE smsforallusers (
user_server varchar(20) default NULL,
user_adres varchar(20) default NULL,
user_password varchar(5) default NULL,
user_tel varchar(20) default NULL,
user_name varchar(20) default NULL
) TYPE=MyISAM;
----------конец структуры----------
----------сам код----------------------
----------конец кода----------------------
Что ещё предстоит: 1) оставлять сообщения на сервере, т.е. помечать отпраленные как отпраленные и больше их не трогать. 2) сделать мультисерверным в смысле операторов. 3) выбор клиентом сколько частей от письма отправлять. 4) выбор клиентом времени доставки
Если у кого есть время и желание помочь пишите andrey_mirny.ru
--------структура таблицы---------
# phpMyAdmin MySQL-Dump
# version 2.3.3pl1
# http://www.phpmyadmin.net/ (download page)
#
# Хост: host.ru:3306
# Время создания: Янв 03 2003 г., 19:12
# Версия сервера: 3.23.51
# Версия PHP: 4.2.2
# БД : `abcd`
# --------------------------------------------------------
#
# Структура таблицы `smsforallusers`
#
CREATE TABLE smsforallusers (
user_server varchar(20) default NULL,
user_adres varchar(20) default NULL,
user_password varchar(5) default NULL,
user_tel varchar(20) default NULL,
user_name varchar(20) default NULL
) TYPE=MyISAM;
----------конец структуры----------
----------сам код----------------------
PHP:
<?
$server_name = "localhost";
$server_user = "user";
$server_password = "password";
$server_connection = mysql_connect ("$server_name", "$server_user", "$server_password");
mysql_select_db ($server_user);
$server_table = "smsforallusers";
$query_sms_all = mysql_query ("SELECT user_server, user_adres, user_password, user_tel FROM $server_table");
WHILE ($row_sms = mysql_fetch_array($query_sms_all)):
$user_server = $row_sms["user_server"];
$user_adres = $row_sms["user_adres"];
$user_password = $row_sms["user_password"];
$user_tel = $row_sms["user_tel"];
$imap_stream=imap_open('{'."$user_server".'}Inbox',"$user_adres","$user_password");
$new_num_mes=imap_num_recent($imap_stream);
if ($new_num_mes > 0){
$inbox=imap_mailboxmsginfo($imap_stream);
$body1=imap_fetchbody($imap_stream,1,1,0);
$body2=imap_qprint($body1);
$body3=htmlspecialchars($body2);
$imap_h=imap_header($imap_stream,1);
$subj1=$imap_h->subject;
$from1=$imap_h->from;
$needle="=?koi8-r?B?";
$poisk=stristr($subj1, $needle);
$poisk1=stristr($from1, $needle);
if ((!$poisk)&&(!$poisk1)){
print ("win-1251");
$encode=$body3;
} else {
print ("koi8-r");
$encode=convert_cyr_string($body3, k, w);
}
$body4=nl2br($encode);
print ("$encode");
print ("$body4");
$strl = strlen ($encode);
$max = 150;
$chi = $strl/150;
$ch = ceil($chi);
$cik = $ch - 1;
if ($strl <= $max):
$contl = 61 + $strl;
$fp1 = fsockopen ("www.gorizont-rt.ru", 80, $errno, $errstr, 30);
if (!$fp1):
echo "$errstr ($errno)<br>\n";
else:
$str = "POST /cgi-bin/isapisms.dll/submit HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, */*
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)
Host: [url]www.gorizont-rt.ru[/url]
Content-Length: $contl
Connection: Keep-Alive
Cache-Control: no-cache
txtAddr=$user_tel&txtSM=$encode&Submit=%CE%F2%EF%F0%E0%E2%E8%F2%FC
";
fputs ($fp1, $str);
fclose ($fp1);
endif;
else:
$num_cik = 0;
$num_cik1 = 0;
$i = -150;
$s = 0;
while ($txt=substr($encode, $i=$i+150, $s=$s+150)):
$npart = $num_cik1++;
$part = "$npart из $cik";
$fp1 = fsockopen ("www.gorizont-rt.ru", 80, $errno, $errstr, 30);
if (!$fp1):
echo "$errstr ($errno)<br>\n";
else:
$str = "POST /cgi-bin/isapisms.dll/submit HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, */*
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)
Host: [url]www.gorizont-rt.ru[/url]
Content-Length: 241
Connection: Keep-Alive
Cache-Control: no-cache
txtAddr=$user_tel&txtSM=$part%20$txt&Submit=%CE%F2%EF%F0%E0%E2%E8%F2%FC
";
fputs ($fp1, $str);
fclose ($fp1);
endif;
if ($num_cik++ == $cik):
break;
else:
echo " ";
endif;
endwhile;
endif;
imap_delete ($imap_stream, 1);
imap_close($imap_stream, CL_EXPUNGE);
print ("ok");
} else {
print ("no");
}
endwhile;
?>
Что ещё предстоит: 1) оставлять сообщения на сервере, т.е. помечать отпраленные как отпраленные и больше их не трогать. 2) сделать мультисерверным в смысле операторов. 3) выбор клиентом сколько частей от письма отправлять. 4) выбор клиентом времени доставки
Если у кого есть время и желание помочь пишите andrey_mirny.ru