>  기사  >  백엔드 개발  >  PHP로 구현된 텍스트 템플릿 기반 이메일 전송 클래스

PHP로 구현된 텍스트 템플릿 기반 이메일 전송 클래스

WBOY
WBOY원래의
2016-07-25 08:56:331483검색
本文介绍下,php实现的一个邮件发送类,基于文本模板来发送邮件,挺不错的,有需要的朋友参考下吧。

一个php email邮件发送类,可以构造简单的邮件格式,效果不错。 代码:

<? 
/**
* php email邮件发送类
* 编辑:bbs.it-home.org
*/
class cls_email_module 
{ 
   function mailSend($tomail,$frommail,$subj,$message,$html="") 
   { 
    if($html) 
 { 
  $headers  = "MIME-Version: 1.0\r\n"; 
  $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
  $headers .="From:$frommail"; 
 } 
   else 
   { 
 $headers .="From:$frommail"; 
   } 
   
 $sSubject = $subj; 
   $sBody = $message; 
   
   //    Parsing body 
   
   $body = $sBody; 
   
      for($ptr = 0; $ptr < strlen($body); $ptr++) 
       { 
       switch($body[ $ptr ]) 
   { 
        case "{": 
    $is_token = 1; 
    $token = ""; 
    break; 
       case "}"; 
    $is_token = 0; 
    eval("global \$".strtolower($token).";"); 
    eval("\$sVal = \$".strtolower($token).";"); 
    $sBody = str_replace("{{$token}}", "$sVal", $sBody); 
   
    $token = ""; 
    break; 
   } 
   
    if(($body[ $ptr ] != "{" && $body[ $ptr ] != "}") && $is_token) 
   { 
        $token .= $body[ $ptr ]; 
   
       } 
   } 
     $re=mail($tomail, $sSubject,$sBody,$headers); 
     $toShow="<table cellpadding=2 cellspacing=0 border=0 bordercolor=#ffffff>"; 
     $toShow.="<tr>"; 
     $toShow.="<td bgcolor=#84C7FF><font face=arial size=2><b>Subject</b></font></td>"; 
     $toShow.="<td bgcolor=#84C7FF><font face=arial size=2>$subj</font></td>"; 
     $toShow.="</tr>"; 
     $toShow.="<tr>"; 
     $toShow.="<td bgcolor=#84C7FF><font face=arial size=2><b>Message</b></font></td>"; 
     $toShow.="<td bgcolor=#84C7FF valign=top><font face=arial size=2>$sBody</font></td>"; 
     $toShow.="</tr>"; 
     $toShow.="</table>";      
      return $toShow; 
    } 
}

调用示例:

<? 
  include("email.php");    
  $msg='Hello {FNAME} {LNAME}, <br> 
      有关您的账号激活邮件。<br> 
      username:: {USERNAME}<br> 
      password:: {PASSWORD}<br>'; 
  $sub="激活账号"; 
   
  $from="admin@abc.com"; 
  $to="user@pqr.com"; 
   
  $email= new cls_email_module(); 
   
  $fname="UsersFirstName"; 
  $lname="UsersLastName"; 
  $username="usernameF"; 
  $password="usernameP"; 
   
  $msg=$email->mailSend($to,$from,$sub,$msg); 
  echo $msg;  
?>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.