网上有些教程可以参考,但有一些注意点。
首先你要有邮件服务器,IIS自带的有一个,
其次就是关闭一些防火墙,这个对发邮件有影响,之前我怎么也发不出去,关掉就可以。
首先你要有邮件服务器,IIS自带的有一个,
其次就是关闭一些防火墙,这个对发邮件有影响,之前我怎么也发不出去,关掉就可以。
解决方案 »
- 当get_headers 服务器返回403 forbidden 怎么获得 短网址 真实地址?
- 一句正则匹配的问题
- php正则表达中求教
- 用php 将Excel 导入mysql 时 出现乱码
- 关于读取.txt文件中的数据
- thinkphp URL传值问题
- Warning: mssql_select_db()出错! 请各位帮忙一下,多谢
- 同一个文件中php和jsp之间如何传递变量值?
- 天哪~关于JAVA中调用PHP变量做连接的问题....
- url传递数值,is_int()这类函数无法判断。在线等候。急!!!
- PHP脚本执行结束时,是不是没有关闭的mysql连接都被自动关闭了?
- 如何实现自动生成静态页面的功能
; For Win32 only.
SMTP = localhost ; for Win32 only
smtp_port = 25
sendmail_from= [email protected] ; for Win32 only将localhost改为 可以匿名发邮件的邮件服务器的地址即可。
可以详细说说吗?
TO:coolstr(占卜师)
用keaizhong(可爱钟)说的IIS的SMTP服务器不知道可不可以?
主题倒是可以。
; For Win32 only.
SMTP = localhost ; for Win32 only
smtp_port = 25
sendmail_from= [email protected] ; for Win32 only你装起来试一下就知道了,再把上面的改成相应的我以前试过可以的。
不过我从来都没有在项目中正式用过这功能。
function send_mail($to,$from,$subject, $message,$html=0)
{
//使用本函数之前,务必请定义好以下变量
#############################################
$smtp ="exmaple.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;
}?>