你2003的IIS要启动SMTP服务。
PS:你还是用SMTP的发送类吧~~~~~~
PS:你还是用SMTP的发送类吧~~~~~~
解决方案 »
- PHP使用query方法插入主键重复值,不会提示出错!!!
- ckEditor3如何实现图文混排?
- 在mysql中 一个字段为varchar类型,如果这个字段的值当中有一个空格,并以这个值为条件的话,就查不出来.这是为什么呢?
- ob_gzhandler, 怎么回事,高分提问
- PHP
- wordpres引用56网视频,用手机端浏览的情况
- updata问题
- ^^^^^^^第一次做网站, 给自己在海外发布的共享软件制作的, 哪位XDJM帮忙给我一个PHP+Mysql的模板啊? 类似这个网站的http://www.blazevide
- 请问如何得出当前“日期时间”的前5分钟“日期时间”(急)
- Win9x下的Web服务器
- php兄弟们,$_SERVER['HTTP_RAW_POST_DATA'];为什么为空啊?
- 求助:大家看一下这个www.fatwallet.com,英文的哦:)
什么意思?
<? function sendmail($to,$subject, $message,$df_from,$mail_flag)
{
// $mail_flag为0是文本格式的发送信件 为1是html格式
$smtp = " "; //您的SMTP 服务器供应商,可以是域名或IP地址
$check = 1; //SMTP需要要身份验证设值为 1 不需要身份验证值为 0,现在大多数的SMTP服务商都要验证,如不清楚请与你的smtp 服务商联系。
if ($check) {
$username = "邮箱地址"; //您的email帐号名称
$password = "邮箱密码"; //您的email密码
}$s_from = "[email protected]"; //此email 必需是发信服务器上的email
//连接服务器
$fp = fsockopen ( $smtp, 25, $errno, $errstr, 60);
if (!$fp ) return "联接服务器失败".__LINE__;
set_socket_blocking($fp, true );
$lastmessage=fgets($fp,512);
if ( substr($lastmessage,0,3) != 220 ) return "错误信息:".$lastmessage.__LINE__;
//HELO
$yourname = "mail";
if($check == "1") $lastact="EHLO ".$yourname."\r\n";
else $lastact="HELO ".$yourname."\r\n";
fputs($fp, $lastact);
$lastmessage == fgets($fp,512);
if (substr($lastmessage,0,3) != 220 ) return "错误信息$lastmessage".__LINE__;
while (true) {
$lastmessage = fgets($fp,512);
if ( (substr($lastmessage,3,1) != "-") or (empty($lastmessage)) )
break;
}
//身份验证
if ($check=="1") {
//验证开始
$lastact="AUTH LOGIN"."\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 334) return "错误信息$lastmessage".__LINE__;
//用户姓名
$lastact=base64_encode($username)."\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 334) return "错误信息$lastmessage".__LINE__;
//用户密码
$lastact=base64_encode($password)."\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != "235") return "错误信息$lastmessage".__LINE__;
}
//FROM:
$lastact="MAIL FROM: $s_from" . "\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 250) return "错误信息$lastmessage".__LINE__;
//TO:
$lastact="RCPT TO: $to" . "\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 250) return "错误信息$lastmessage".__LINE__;
//DATA
$lastact="DATA\r\n";
fputs($fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 354) return "错误信息$lastmessage".__LINE__;
if($mail_flag==1)//发送格式为html
{
$head = "MIME-Version: 1.0\r\n";
$head .= "Content-type: text/html; charset=GB2312\r\n";
}
//处理Subject头
$head="Subject: $subject\r\n".$head;
$message = $head."\r\n".$message;
//处理From头
$head="From: $df_from\r\n";
$message = $head.$message;
//处理To头
$head="To: $to\r\n";
$message = $head.$message;
//加上结束串
$message .= "\r\n.\r\n";
//发送信息
fputs($fp, $message);
$lastact="QUIT\r\n";
fputs($fp,$lastace);
fclose($fp);
return 0;
} ?>
注释掉这一行。
再问:windows环境下,是无法用mail法邮件的?只有用类?
PHP.INI 中设置
smtp_address= localhost并正确设置本机的 SMTP 发件设置(不得加用户认证)就OK了~~~~~
SMTP装好以后 你应该是在WINDOW2K下,你找到PHP。INI文件 在C:\WINNT下
打开找到下面这些行
[mail function]
; For Win32 only.
SMTP = 10.0.0.9 -------》替换成你的IP,10.0.0.9是偶的IP了 :); For Win32 only.
sendmail_from = [email protected] ---》发件人信息 然后重新启动APACHE