PHP发送EMAIL求一个完整的成功的例子!急急急!若分不够请讲! www.phpe.netclass邮件都能成功 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function send22($to,$from,$subject, $message,$html=0){ //使用本函数之前,务必请定义好以下变量 ############################################# $smtp ="smtp.163.com"; //SMTP 服务器 $check = 1; //SMTP需要要身份验证设值为 1 不需要身份验证值为 0,现在大多数的SMTP服务商都要验证,如不清楚请与你的smtp 服务商联系。 if ($check) { $username = "[email protected]"; //您的email帐号名称 $password = "exmaple"; //您的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 "错误信息A:".$lastmessage.__LINE__; //HELO $yourname = "admin"; 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 "错误信息B$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 "错误信息C$lastmessage".__LINE__; //用户姓名 $lastact=base64_encode($username)."\r\n"; fputs( $fp, $lastact); $lastmessage = fgets ($fp,512); if (substr($lastmessage,0,3) != 334) return "错误信息D$lastmessage".__LINE__; //用户密码 $lastact=base64_encode($password)."\r\n"; fputs( $fp, $lastact); $lastmessage = fgets ($fp,512); if (substr($lastmessage,0,3) != "235") return "错误信息E$lastmessage".__LINE__; } //FROM: //$lastact="MAIL FROM: $s_from" . "\r\n"; $lastact="MAIL FROM: ".$s_from. "\r\n"; fputs( $fp, $lastact); $lastmessage = fgets ($fp,512); if (substr($lastmessage,0,3) != 250) return "错误信息F$lastmessage".__LINE__; //TO: $lastact="RCPT To: $to" . "\r\n"; fputs( $fp, $lastact); $lastmessage = fgets ($fp,512); if (substr($lastmessage,0,3) != 250) return "错误信息G$lastmessage".__LINE__; //DATA $lastact="DATA\r\n"; fputs($fp, $lastact); $lastmessage = fgets ($fp,512); if (substr($lastmessage,0,3) != 354) return "错误信息H$lastmessage".__LINE__; //处理Subject头 $head="Subject: $subject\r\n"; $message = $head."\r\n".$message; //处理From头 $head="From: $from\r\n"; $message = $head.$message; //处理To头 $head="To: $to\r\n"; $message = $head.$message; if($html==1) { $head = "Content-type:text/html\r\n"; $message =$head.$message; } //加上结束串 $message .= "\r\n.\r\n"; //发送信息 fputs($fp, $message); $lastact="QUIT\r\n"; fputs($fp,$lastact); fclose($fp); return 0;} Warning: fsockopen(): unable to connect to smtp.163.com:25 in C:\1.php on line 12发生以前错误,代码如下: $smtp ="smtp.163.com"; //SMTP 服务器 $check = 1; if ($check) { $username = "ted58"; //您的email帐号名称 $password = "1111"; //您的email密码 } $s_from = "[email protected]"; //此email 必需是发信服务器上的email //连接服务器 $fp = fsockopen ( $smtp, 25, $errno, $errstr, 3600); 没有啊,我就是用163的啊。难道要自已的SMTP服务器才行吗? 你确认在PHP程序的服务器上, telnet smtp.163.com 25 可以正常连接? 关于wampserver安装和配置的问题~ Pear的问题,不知道大家碰到过没 域名代理商倒闭了,购买的域名还能续费吗? 怎样将一个表中的数据一一对应的导入另一个表中 PHP函数嵌套函数中的全局变量问题 请教一个关于php创建文件夹的问题 mysql排序怎样同时根据两个字段进行? 跪求,PHP发MAIL,加入背景音乐的问题。。。 php_*.dll的用途? 求php 位异或运算制作加密解密的js写法 我这样一句SQL语句,怎么得不出结果? -------------(原创)基于phplib template的缓存类-----------------
{
//使用本函数之前,务必请定义好以下变量
#############################################
$smtp ="smtp.163.com"; //SMTP 服务器
$check = 1;
//SMTP需要要身份验证设值为 1 不需要身份验证值为 0,现在大多数的SMTP服务商都要验证,如不清楚请与你的smtp 服务商联系。
if ($check) {
$username = "[email protected]"; //您的email帐号名称
$password = "exmaple"; //您的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 "错误信息A:".$lastmessage.__LINE__;
//HELO
$yourname = "admin";
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 "错误信息B$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 "错误信息C$lastmessage".__LINE__;
//用户姓名
$lastact=base64_encode($username)."\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 334) return "错误信息D$lastmessage".__LINE__;
//用户密码
$lastact=base64_encode($password)."\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != "235") return "错误信息E$lastmessage".__LINE__;
}
//FROM:
//$lastact="MAIL FROM: $s_from" . "\r\n";
$lastact="MAIL FROM: ".$s_from. "\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 250) return "错误信息F$lastmessage".__LINE__;
//TO:
$lastact="RCPT To: $to" . "\r\n";
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 250) return "错误信息G$lastmessage".__LINE__;
//DATA
$lastact="DATA\r\n";
fputs($fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 354) return "错误信息H$lastmessage".__LINE__;
//处理Subject头
$head="Subject: $subject\r\n";
$message = $head."\r\n".$message;
//处理From头
$head="From: $from\r\n";
$message = $head.$message;
//处理To头
$head="To: $to\r\n";
$message = $head.$message;
if($html==1)
{
$head = "Content-type:text/html\r\n";
$message =$head.$message;
}
//加上结束串
$message .= "\r\n.\r\n";
//发送信息
fputs($fp, $message);
$lastact="QUIT\r\n";
fputs($fp,$lastact);
fclose($fp);
return 0;
}
$check = 1;
if ($check) {
$username = "ted58"; //您的email帐号名称
$password = "1111"; //您的email密码
}
$s_from = "[email protected]"; //此email 必需是发信服务器上的email
//连接服务器
$fp = fsockopen ( $smtp, 25, $errno, $errstr, 3600);
难道要自已的SMTP服务器才行吗?