thinkphp 使用phpmailer发送邮件实例

发布时间:2019-09-25编辑:脚本学堂
介绍下thinkphp如何使用phpmailer发送邮件?有需要的朋友,可以参考下。

1、后台配置发送邮件类,位置admin/common/common.php中
 

复制代码 代码示例:

<?php
/**
* PHPMailer邮件发送配置
* Edit www.jb200.com
*/
function sendmail($tomail,$title,$content)
{

/*邮件设置信息*/
$email_set = C('EMAIL_SET');

Vendor('phpmailer.class#phpmailer');
Vendor("phpmailer.class#smtp"); //可选,否则会在class.phpmailer.php中包含
      
$mail = new PHPMailer(true); //实例化PHPMailer类,true表示出现错误时抛出异常
      
$mail->IsSMTP(); // 使用SMTP

  $mail->CharSet ="UTF-8";//设定邮件编码
  $mail->Host       = $email_set['Host']; // SMTP server
  $mail->SMTPDebug  = 1;     // 启用SMTP调试 1 = errors  2 =  messages
  $mail->SMTPAuth   = true;  // 服务器需要验证
  $mail->Port       = $email_set['port'];    // 设置端口
 // $mail->SMTPSecure = "ssl";   
    /*
    $mail->SMTPSecure = "ssl";
    $mail->Host       = "smtp.gmail.com";   
    $mail->Port       = 465;
    */
      
  $mail->Username   = $email_set['email_user']; //SMTP服务器的用户帐号
  $mail->Password   = $email_set['email_pwd'];       //SMTP服务器的用户密码
  $mail->AddReplyTo($email_set['email'],$email_set['email_name']); //收件人回复时回复到此邮箱,可以多次执行该方法
  if (is_array($tomail)){
      foreach ($tomail as $m){
   $mail->AddAddress($m, 'user');
      }
  }else{
      $mail->AddAddress($tomail, 'user');
  }
 
  $mail->SetFrom($email_set['email'],$email_set['email_name']);
// $mail->AddAttachment('./img/phpmailer.gif');      // 添加附件,如果有多个附件则重复执行该方法
  $mail->Subject = $title;
      
  //以下是邮件内容相关
  $mail->Body = $content;
  $mail->IsHTML(true);
      
  //$body = file_get_contents('tpl.html'); //获取html网页内容
 // $mail->MsgHTML(eregi_replace("[]",'',$body));
      
      
return $mail->Send()? true:false;

?>

2、修改配置参数:
 

复制代码 代码示例:
/*邮件设置*/
    'EMAIL_SET'=>array(
       'Host'=> "smtp.163.com",
       'Port'=>'25',
       'email_user'=>'jbxue',
       'email_pwd'=>'123456',
       'email'=>'test@163.com',
       'email_name'=>'脚本学堂-www.jb200.com',
    ),

3、调用测试
 

复制代码 代码示例:
sendmail(’11234@126.com‘,‘脚本学堂_www.jb200.com’,‘测试内容,不需要回复!’);