发表主题您当前位置:首页 / 分享 / PHP

thinkphp5+PHPMailer邮件发送配置与使用实例

猪子胖胖  2019-03-13  0  0  15

thinkphp5+PHPMailer邮件发送配置与使用实例

PHP邮件SMTP发送,本文以thinkphp5来讲,首页下载PHPMailer扩展,下载地址:https://github.com/PHPMailer/PHPMailer

下载完后解压会有如下图显示文件:

打开src文件夹拷贝出三个文件:Exception.php、PHPMailer.php、SMTP.php

然后在网站extend文件夹里新建PHPMailer文件夹,把上面三个文件拷进去,如下图:

接着分别打开三个文件修改命名空间为:namespace PHPMailer

接首打开application\common.php文件输入发送邮件的代码,这里以QQ邮箱为例:

// 应用公共文件

/**
* 发送邮箱
* @param type $data 邮箱队列数据 包含邮箱地址 内容
*/
use PHPMailer\PHPMailer;
function sendEmail($to,$title,$content) {
  Vendor('PHPMailer.PHPMailer');
  $mail = new PHPMailer(); //实例化
  $mail->IsSMTP(); // 启用SMTP
  $mail->Host = 'smtp.qq.com'; //SMTP服务器 以qq邮箱为例子 
  $mail->Port = 465;  //邮件发送端口
  $mail->SMTPAuth = true;  //启用SMTP认证
  $mail->SMTPSecure = "ssl";   // 设置安全验证方式为ssl
  $mail->CharSet = "UTF-8"; //字符集
  $mail->Encoding = "base64"; //编码方式
  $mail->Username = 'xxxxxx@qq.com';  //你的邮箱 
  $mail->Password = 'xxxxxxxxxxxxxxxx';  //你的密码,也就是QQ邮箱里获取的授权码 
  $mail->Subject = $title; //邮件标题  
  $mail->From = 'xxxxxx@qq.com';  //发件人地址(也就是你的邮箱)
  $mail->FromName = '哈喽吧';  //发件人姓名
  $mail->AddAddress($to, "亲"); //添加收件人(地址,昵称)
  $mail->IsHTML(true); //支持html格式内容
  $mail->Body = $content; //邮件主体内容
      //发送成功就删除
      if ($mail->Send()) {
        echo "发送成功";
      }else{
          echo "Mailer Error: ".$mail->ErrorInfo;// 输出错误信息  
      }           
}


上面配置好了开始调用,代码如下:

<?php
namespace app\index\controller;
use think\Controller;

class Index extends Controller
{
    public function index()
    {
        return $this->fetch();
    }

	public function email(){ 
		$tomail=input('tomail'); $title=input('title'); $content=input('content');  //获取提交的信息
		sendEmail($tomail,$title,$content);
	}
}
?>


到此thinkphp5+PHPMailer邮件发送配置完成,大家可以去尝试下了哈!!


注意:

1、PHPMailer支持需要开启sockets和openssl,可以以通过phpinfo()来查看是否开启,如没开启请到php.ini配置文件中把即;号去掉。

2、中文乱码问题:要想不产生乱码必须做的编码统一为utf-8,包括$mail->CharSet='UTF-8'发送的页面及发送代码函数所在页面。

说明:该主题及内容可以随意免费转发,但转发时请注明来源于“哈喽吧”哦^_^。

回复主题

上一篇:Thinkphp5:[ error ] [8]A non well formed numeric value encountered报错解决方法

下一篇:没有了

最新回复(0)

暂无回复
回复主题
提示:请先登录后再回复主题。
  • 站内搜索
  • 百度搜索
  • 搜狗搜索