- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
经测试可用的php邮件发送类
?php
/*
* 邮件发送类
*/
class smail {
/**/
//您的SMTP 服务器供应商,可以是域名或IP地址
var $smtp = ;
//SMTP需要要身份验证设值为 1 不需要身份验证值为 0,现在大多数的SMTP服务商都要验证,如不清楚请与你的smtp 服务商联系。
var $check = 1;
//您的email帐号名称
var $username = ;
//您的email密码
var $password = ;
//此email 必需是发信服务器上的email
var $s_from = ;
/*
* 功能:发信初始化设置
* $from 你的发信服务器上的邮箱
* $password 你的邮箱密码
* $smtp 您的SMTP 服务器供应商,可以是域名或IP地址
* $check SMTP需要要身份验证设值为 1 不需要身份验证值为 0,现在大多数的SMTP服务商都要验证
*/
function smail ( $from, $password, $smtp, $check = 1 ) {
if( preg_match(/^[^\d\-_][\w\-]*[^\-_]@[^\-][a-zA-Z\d\-]+[^\-](\.[^\-][a-zA-Z\d\-]*[^\-])*\.[a-zA-Z]{2,3}/, $from ) ) {
$this-username = substr( $from, 0, strpos( $from , @ ) );
$this-password = $password;
$this-smtp = $smtp ? $smtp : $this-smtp;
$this-check = $check;
$this-s_from = $from;
}
}
/*
* 功能:发送邮件
* $to 目标邮箱
* $from 来源邮箱
* $subject 邮件标题
* $message 邮件内容
*/
function send ( $to, $from, $subject, $message ) {
//连接服务器
$fp = fsockopen ( $this-smtp, 25, $errno, $errstr, 60);
if (!$fp ) return 联接服务器失败.__LINE__;
stream_set_blocking($fp, true );
$lastmessage=fgets($fp,512);
if ( substr($lastmessage,0,3) != 220 ) return 错误信息1:$lastmessage.__LINE__;
//HELO
$yourname = YOURNAME;
if($this-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 错误信息2:$lastmessage.__LINE__;
while (true) {
$lastmessage = fgets($fp,512);
if ( (substr($lastmessage,3,1) != -) or (empty($lastmessage)) )
break;
}
//身份验证
if ($this-check==1) {
//验证开始
$lastact=AUTH LOGIN.\r\n;
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 334) return 错误信息3:$lastmessage.__LINE__;
//用户姓名
$lastact=base64_encode($this-username).\r\n;
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
if (substr($lastmessage,0,3) != 334) return 错误信息4:$lastmessage.__LINE__;
//用户密码
$lastact=base64_encode($this-password).\r\n;
fputs( $fp, $lastact);
$lastmessage = fgets ($fp,512);
文档评论(0)