Home  >  Article  >  Backend Development  >  Email sending class based on text template implemented in PHP

Email sending class based on text template implemented in PHP

WBOY
WBOYOriginal
2016-07-25 08:56:331482browse
本文介绍下,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;  
?>


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn