答案:如果你无法在服务器上安装IMAIL,那只能通过socket来发送邮件。但是如果你幸运的话,也可以用163/sina的
smtp服务。
例程如下(原程序由马毅兄提供):
<HTML>
<HEAD>
<TITLE>Mail Form anywhere </TITLE>
</HEAD>
<BODY>
<?
if($sendit)
{
$smtpserver="202.110.200.242" ; //将此处设为IMAIL的IP
echo "<pre>" ;
$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("</pre><hr>bye bye ");
};
?>
<br>
<FORM METHOD="POST" ACTION=" <? echo $PHP_SELF; ?>" >
<table width="73%" border="1" align="center">
<tr>
<td colspan="5">
<div align="center">cn-bbs web meil </div>
</td>
</tr>
<tr>
<td width="9%">from<br>
</td>
<td width="36%">
<input type="text" name="from_address" size="30" maxlength="40"
value="">
</td>
<td width="6%">to </td>
<td colspan="2" width="49%">
<input type="text" name="to_address" size="40" maxlength="40"
value="">
</td>
</tr>
<tr>
<td width="9%">subject</td>
<td colspan="4">
<input type="text" name="subject" size="80" maxlength="200" value=" ">
</td>
</tr>
<tr>
<td rowspan="5" width="9%">c<br>
o<br>
n<br>
t<br>
e<br>
n<br>
t</td>
<td colspan="4" rowspan="5">
<div align="center">
<textarea name="message" cols="80" rows="16"> </textarea>
</div>
</td>
</tr>
<tr> </tr>
<tr> </tr>
<tr> </tr>
<tr> </tr>
<tr>
<td colspan="5" height="2">
<div align="center">
<select name="smtpserver">
<option value="smtp.21cn.com" selected>21cn.net</option>
<option value="smtp.163.net">163.com</option>
<option value="smtp.263.net">263.com</option>
<option value="server0026.freedom2surf.net">server0026.freedom2surf.net</option>
<option value="www.cnbbs.f2s.com" >www.cnbbs.f2s.com</option>
</select>
<input type=submit value ="ok . send" name="sendit">
<input type=reset value ="Reset " name="reset">
<input type="button" name="back" value="cancle" onclick=history.back()>
</div>
</td>
</tr>
</table>
<br>
</FORM>
</BODY>
</html>
该程序在局域网内调试通过,我的IP是202.110.200.242,供大家测试
上一个:NT下基于邮件服务软件(IMAIL)的邮件发送程序--(本地版)
下一个:Zend Optimizer 配置指南