php邮件发送

今天要用到php的邮件发送,便用phpmailer弄了个

类文件:emaillclass.php

<?php

class PhpMailer{
var $smtpHost;
var $smtpUser;
var $smtpPass;
var $mailFrom;
 var $contentType = "html";
var $errMsg = '';
function __construct($host,$user,$pass){
$this->smtpHost = $host;
$this->smtpUser = $user;
$this->smtpPass = $pass;
$this->mailFrom = $this->smtpUser;
}
    function send($addr,$fromName,$title,$content){
     $headers = "Content-Type: text/".$this->contentType."; charset=\"gb2312\"
Content-Transfer-Encoding: base64"; 
     $lb="
"; 
     $hdr = explode($lb,$headers);
     if($content){
   $bdy = explode($lb,$content);

$smtp = array( 
array("EHLO hello".$lb,"220,250","EHLO error: "), 
array("AUTH LOGIN".$lb,"334","AUTH error:"), 
array(base64_encode($this->smtpUser).$lb,"334","AUTHENTIFICATION error : "), 
array(base64_encode($this->smtpPass).$lb,"235","AUTHENTIFICATION error : ")
); 
$smtp[] = array("MAIL FROM: <".$this->mailFrom.">".$lb,"250","MAIL FROM error: "); 
$smtp[] = array("RCPT TO: <".$addr.">".$lb,"250","RCPT TO error: "); 
$smtp[] = array("DATA".$lb,"354","DATA error: "); 
$smtp[] = array("From: ".$fromName.$lb,"",""); 
$smtp[] = array("To: ".$addr.$lb,"",""); 
$smtp[] = array("Subject: ".$title.$lb,"",""); 
foreach($hdr as $h) {
     $smtp[] = array($h.$lb,"","");

$smtp[] = array($lb,"",""); 
if($bdy) {
   foreach($bdy as $b) {
      $smtp[] = array(base64_encode($b.$lb).$lb,"","");
    }

$smtp[] = array(".".$lb,"250","DATA(end)error: "); 
$smtp[] = array("QUIT".$lb,"221","QUIT error: "); 
$fp = @fsockopen($this->smtpHost, 25); 
if (!$fp) $this->errMsg = "<b>错误:</b> 无法连接到 ".$this->smtpHost.""; 
while($result = @fgets($fp, 1024)){
   if(substr($result,3,1) == " ") { break; }
}
foreach($smtp as $req){ 
@fputs($fp, $req[0]); 
if($req[1]){ 
   while($result = @fgets($fp, 1024)){ 
    if(substr($result,3,1) == " ") { break; } 
   }; 
if (!strstr($req[1],substr($result,0,3))){ 
     $this->errMsg.=$req[2].$result.""; 



@fclose($fp); 
if($this->errMsg ==''){
return true; 
}else{
return false;
}
    }
}

?>

调用:send.php

<?php
 require_once('emaillclass.php');
 $test =new PhpMailer("smtp服务器地址","发件箱地址","发件箱密码");
 $send =$test->send('收件箱地址','发件箱地址','标题','邮件内容');
?>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无风自舞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值