Step1 下载PHPMailer插件
Step2 将其解压后放在ThinkPHP的/Vendor下, 放完之后长这样:
Step3 好比说, 我们要在Forget控制器中的index方法发送一封邮件, 那么Forget控制器长这样:
<?php
namespace app\index\controller;
use think\Controller;
require VENDOR_PATH . 'PHPMailer/PHPMailer/src/Exception.php';
require VENDOR_PATH . 'PHPMailer/PHPMailer/src/PHPMailer.php';
require VENDOR_PATH . 'PHPMailer/PHPMailer/src/SMTP.php';
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception ;
class Forget extends Controller
{
public function index()
{
$mail = new PHPMailer();
$mail->isSMTP(); // 启用SMTP
//$mail->SMTPDebug=1; //开启调试模式
$mail->SMTPSecure = "ssl";//要改动1: QQ邮箱使用SSL
$mail->CharSet='utf-8'; //设置邮件编码格式
$mail->Host="smtp.qq.com;"; //smtp服务器的名称(这里以126邮箱为例)//要改动2: 输入你的smtp服务器地址
$mail->SMTPAuth = true; //启用smtp认证
$mail->Username = "ricky1986@qq.com"; //你的邮箱名可以不写@后缀,也可以写//要改动3: 输入你的邮箱用名
$mail->Password = "你的SMTP密码" ; //邮箱密码,现在开启邮箱SMTP后叫做安全码 //要改动4: 输入你的smtp密码, 并不是网页邮箱密码, 这个密码在QQ邮箱设置smtp时得到
$mail->Port=465; //SMTP端口号//要改动5:你的SMTP端口
//$mail->Port = 994;
$mail->setFrom("ricky1986@qq.com","Ricky给你的信"); //发件人地址(也就是你的邮箱地址)和发件人名称//要改动6, 写你的邮箱, 写发件人名称
$mail->AddAddress("ricky1986@foxmail.com",""); //接收人地址和名称//要改动7, 收件人地址, 这里写成固定的
$mail->WordWrap = 100; //设置每行字符长度
$mail->isHTML(true); // 是否HTML格式邮件
$mail->Subject ="你好这是测试的"; //邮件主题
$mail->Body = "给你发送个信息"; //邮件内容
//$mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示
var_dump($mail->Send()); //发送方法,发送成功返回true,失败返回false
//echo $mail->ErrorInfo; //获取错误信息
}
}
使用以上代码, 把上面的7个"要改动"改成你自己的信息, 你需要一个支持smtp的邮箱; 如果不是用ssl的邮箱, 可以把"要改动1"注释掉, 然后端口可能是25
这样就可以发送邮件了.