thinkphp5使用phpmailer进行发送邮件功能

1、使用composer 工具安装,在tp5根目录下执行  默认使用1.0版本

    composer require phpmailer/phpmailer

 

安装成功后显示下面目录

 

2、封装发送邮件方法

我放置在了extra文件夹内

function sendEmail($to, $title, $content){
 
    $email=[
         "send_email"=>"111113@qq.com", //这里是一个 发邮件用的邮箱  需要设置smtp相关
        "host"=>"smtp.qq.com",
        "pwd"=>"xxxxxxxxxxxxxxx",   //这里是邮箱的授权码,QQ邮箱为例, 在设置里面可设置
        "encry_type"=> "ssl",
        "port"=>465,
        "send_name"=>"测试",
        "title"=>"QQ邮箱"
    ];
 
    try {
        $mail = new PHPMailerPHPMailerPHPMailer(true);
        $mail->isSMTP();
        $mail->Host = $email['host'];  //qq邮箱的服务器地址
        $mail->SMTPAuth = true;
        $mail->Username = $email['send_email'];//授权的qq邮箱
        $mail->Password = $email['pwd'];//授权码,不是密码!!!
        $mail->SMTPSecure = $email['encry_type'];// 使用 ssl 加密方式登录boolean
        $mail->Port = $email['port'];//smtp 服务器的远程服务器端口号
        //Recipients
        $mail->setFrom($email['send_email'], $email['send_name']);//授权的qq邮箱(和上面一样),自己起的昵称
        $mail->addAddress($to);     // 传过来的收件人
        $mail->isHTML(true);                                  // Set email format to HTML
        $mail->Subject = $title;//传过来的标题
        $mail->Body = $content;//传过来的内容
        if($mail->send()){
            return return_msg();
        }else{
            return return_msg(-1,"error");
        }
    } catch (PHPMailerPHPMailerException $e) {
        return return_msg(-1,$mail->ErrorInfo);
    }
}
 
  function return_msg($status=1,$msg="ok",$data=[]){
    return [
        "status" => $status,
        "msg" => $msg,
        "data" => $data,
    ];
 
}

 

控制器里面的代码

 public function index(){
        $str="这是测试内容";
        $title="这是测试邮件";
        $sendEmail="23423423@qq.com";//接受人
        $res=sendEmail($sendEmail,$title,$str);
        var_dump($res);exit();
    }

 

之后访问控制器测试, 成功

你可能感兴趣的