imail
如果你无法在服务器上安装imail,那只能通过socket来发送邮件。但是如果你幸运的话,也可以用163/sina的
smtp服务。
例程如下(原程序由马毅兄提供):
mail form anywhere
if($sendit)
{
$smtpserver=202.110.200.242 ; //将此处设为imail的ip
echo ;
$fp = fsockopen($smtpserver, 25, &$errno, &$errstr, 10) ; //连接smtp服务器,端口25
if(!$fp) die(wrong open smtp server) ;
$hostreplay=fgets($fp,128);
//if (!strstr($hostreplay,220)) die( can n't receive the 220 answer ) ;
$smailname=strstr(ltrim($hostreplay),220 ) ;
$smailname=substr($smailname,0,strpos($smailname,.)) ;
//echo \nsmailname:$smailname\n ;
fputs($fp,$smailname \n) ;
$hostreplay=fgets($fp,128);
//if (!strstr($hostreplay,250)) die( can n't receive the 250 answer ) ;
fputs($fp,mail from: \n) ;
$hostreplay=fgets($fp,128) ;
if (!strstr($hostreplay,250)) {
fputs($fp,mail from: root\n) ;
$hostreplay=fgets($fp,128) ;
if (!strstr($hostreplay,250)) {
fputs($fp,mail from: root@263.net\n) ;
echo($hostreplay=fgets($fp,128)) ;
if (!strstr($hostreplay,250)) {
fputs($fp,mail from: $from_address\n) ;
$hostreplay=fgets($fp,128) ;
if (!strstr($hostreplay,250)) die( can n't receive the 250 answer ) ;
};
};
};
fputs($fp,rcpt to: $to_address\n) ;
$hostreplay=fgets($fp,128);
if (!strstr($hostreplay,250)) {
fputs($fp,rcpt to: $mailname\n) ;
$hostreplay=fgets($fp,128) ;
if (!strstr($hostreplay,250)) echo( can n't receive the 354 answer) ;
};
fputs($fp,data\n) ;
$hostreplay=fgets($fp,128) ;
if (!strstr($hostreplay,354)) die( can n't receive the 250 answer ) ;
$tosend=from: $from_address\n;
$tosend.=to: $to_address\n;
$tosend.=subject:.str_replace(\n, ,$subject).\n你好,这是yukuang发给您的一封测试信!!
\n.\n;
fputs($fp,$tosend) ;
$hostreplay=fgets($fp,128) ;
if (!strstr($hostreplay,250)) die( can n't receive the 250 answer ) ;
fputs($fp,quit\n) ;
fclose($fp) ;
echo 发送成功;
exit();
//if($ck_name!='root') die(
bye bye );
};
?>
cn-bbs web meil
from
value=>
to
value=>
subject
c
o
n
t
e
n
t
21cn.net
163.com
263.com
server0026.freedom2surf.net
www.cnbbs.f2s.com
该程序在局域网内调试通过,我的ip是202.110.200.242,供大家测试