thinkphp中怎么使用phpmailer发送邮件

Posted it-world

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp中怎么使用phpmailer发送邮件相关的知识,希望对你有一定的参考价值。

phpmailer发送邮件是php开发者首选的一个邮件发送插件了,下面我来介绍怎么集成phpmailer到thinkphp框架了,有需要了解的朋友可参考。

phpmailer发送邮件功能很强大,今天真正的体验一下,简单说一下配置,本人是在thinkphp中是用的.

配置步骤:

1.后台配置发送邮件类,位置admin/common/common.php中,代码如下:

  1. function sendmail($tomail,$title,$content) 
  2. /*邮件设置信息*/ 
  3.         $email_set = C(‘EMAIL_SET‘); 
  4.         Vendor(‘phpmailer.class#phpmailer‘); 
  5.         Vendor("phpmailer.class#smtp"); //可选,否则会在class.phpmailer.php中包含 
  6.          
  7.         $mail = new PHPMailer(true); //实例化PHPMailer类,true表示出现错误时抛出异常 
  8.          
  9.         $mail->IsSMTP(); // 使用SMTP 
  10.           $mail->CharSet ="UTF-8";//设定邮件编码 
  11.           $mail->Host       = $email_set[‘Host‘]; // SMTP server 
  12.           $mail->SMTPDebug  = 1;                     // 启用SMTP调试 1 = errors  2 =  messages 
  13.           $mail->SMTPAuth   = true;                  // 服务器需要验证 
  14.           $mail->Port       = $email_set[‘port‘];                    // 设置端口 
  15.          // $mail->SMTPSecure = "ssl";      
  16.             /* 
  17.             $mail->SMTPSecure = "ssl";                  
  18.             $mail->Host       = "smtp.gmail.com";      
  19.             $mail->Port       = 465;                   
  20.             */ 
  21.          
  22.           $mail->Username   = $email_set[‘email_user‘]; //SMTP服务器的用户帐号 
  23.           $mail->Password   = $email_set[‘email_pwd‘];       //SMTP服务器的用户密码 
  24.           $mail->AddReplyTo($email_set[‘email‘],$email_set[‘email_name‘]); //收件人回复时回复到此邮箱,可以多次执行该方法 
  25.           if (is_array($tomail)){ 
  26.               foreach ($tomail as $m){ 
  27.                    $mail->AddAddress($m, ‘user‘);  
  28.               } 
  29.           }else{ 
  30.               $mail->AddAddress($tomail, ‘user‘); 
  31.           } 
  32.           
  33.           $mail->SetFrom($email_set[‘email‘],$email_set[‘email_name‘]); 
  34.         // $mail->AddAttachment(‘./img/phpmailer.gif‘);      // 添加附件,如果有多个附件则重复执行该方法 
  35.           $mail->Subject = $title; 
  36.          
  37.           //以下是邮件内容相关 
  38.           $mail->Body = $content; 
  39.           $mail->Ishtml(true); 
  40.          
  41.           //$body = file_get_contents(‘tpl.html‘); //获取html网页内容 
  42.          // $mail->MsgHTML(eregi_replace("[]",‘‘,$body)); 
  43.          
  44.          
  45.         return $mail->Send()? true:false; 

2:配置文件中配置参数,代码如下:

  1. /*邮件设置*/ 
  2.     ‘EMAIL_SET‘=>array( 
  3.        ‘Host‘=> "smtp.163.com", 
  4.        ‘Port‘=>‘25‘, 
  5.        ‘email_user‘=>‘liuying‘, 
  6.        ‘email_pwd‘=>‘123456‘, 
  7.        ‘email‘=>‘liuying@163.com‘, 
  8.        ‘email_name‘=>‘86市场网‘, 
  9.   ) 

3.测试发送代码,代码如下:

sendmail(’11234@126.com‘,‘您好’,‘我是内容’);

以上是关于thinkphp中怎么使用phpmailer发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp5中如何正确使用phpmailer发送邮件

PHP(ThinkPHP5.0) + PHPMailer 进行邮箱发送验证码

将PHPMailer整合到ThinkPHP 3.2 中实现SMTP发送邮件

ThinkPHP 3.2 DEMO案例系列phpmailer批量发送邮件

Thinkphp5.1实现发送邮箱验证码

ThinkPHP 通过 PHPMailer插件来发送邮件