Thinkphp 3.2.2 整合PHPMailer发邮件插件

jerry thinkphp 2015年11月19日 收藏
手把手教你Thinkphp 3.2.2 整合PHPMailer发邮件插件代码实例
小编我前些日子从原来的单位离职到一个网络公司上班,公司规模不大,程序就一两个人,公司有自己的一套CMS系统,是用Thinkphp 2.1版本搭建的, Thinkphp 2.1 是前几年出来的产品了,实在是老的不能再老的开源框架。来公司上班的第一天,Boss给我一个任务:用Thinkphp 最新版本也就是Thinkphp 3.2.2整合个发邮件的插件。这任务可难为小编我了,小编我玩的都是ecshop,至于Thinkphp,只是前2年玩过一两回,没有办法只好硬着头皮上了。本文章由脚本100提供。
下面废话少说,就直接上代码了。
1、首先从网上下了个PHPMailer插件;
2、将PHPMailer插件放到Thinkphp包下Library/ORG/Util目录下
3、thinkphp3.2.2 实例化类跟以前的有所不同,下面必须对PHPMailer插件进行修改,在phpmailer.class.php 代码前加上namespace ORG\Util
public function index(){ 
        $to="ertyett@qq.com";
        $title="test";
        $body="ok";
        $res=$this->sendemail($to,$title,$body);
          dump($res);
        $this->display();
    }
    //发邮件
    protected function sendemail($to,$title,$body){
        header("content-type:text/html;charset=utf-8");
        ini_set("magic_quotes_runtime",0);
        $info=M('webset')->find();
        try {
            $mail = new \Org\Util\PHPMailer;
            $mail->IsSMTP();
            $mail->CharSet='UTF-8'; //设置邮件的字符编码,这很重要,不然中文乱码
            $mail->SMTPAuth = true; //开启认证
            $mail->Port = $info['smtp_port'];
            $mail->Host = $info['smtp_host'];
            $mail->Username = $info['smtp_user'];
            $mail->Password = $info['smtp_pass'];
            $mail->AddReplyTo($info['smtp_user'],$info['send_name']);//回复地址
            $mail->From = $info['smtp_user'];
            $mail->FromName = $info['send_name'];
            $mail->AddAddress($to);
            $mail->Subject = $title;
            $mail->Body = $body;
            $mail->WordWrap = 80; // 设置每行字符串的长度
            $mail->IsHTML(true);
            $mail->Send();
            return true;
        } catch (phpmailerException $e) {
            echo "邮件发送失败:".$e->errorMessage();
        }
    }