?一、开启邮箱的SMTP服务
QQ邮箱设置方式:
点击设置:
点击账户
在最下面,有个开启
点开启会弹出个窗,上面有密码,记下密码
163邮箱设置方式:
其他邮箱都一样,获取授权码就行
二、下载类库文件
https://gitee.com/joytom/CSDN/tree/master
三、下载完成后放到vendor下面
四、执行操作
公共文件单独写一个发送邮件的公共方法:
common.php
<?php
function sendEmail($data = [])
{
Vendor('phpmailer.phpmailer');
$mail = new \phpmailer\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 = 'xxxxxxxx@qq.com'; //你的邮箱
$mail->Password = 'SMTP的那个密码'; //你的密码
$mail->Subject = '邮件标题'; //邮件标题
$mail->From = 'xxxxxxx@qq.com'; //发件人地址(也就是你的邮箱)
$mail->FromName = 'xxx'; //发件人姓名
if($data && is_array($data)){
foreach ($data as $k=>$v){
$mail->AddAddress($v['user_email'], "亲"); //添加收件人(地址,昵称)
$mail->IsHTML(true); //支持html格式内容
$mail->Body = $v['content']; //邮件主体内容
//发送成功就删除
if ($mail->Send()) {
echo '发送成功';
}else{
echo "Mailer Error: ".$mail->ErrorInfo;// 输出错误信息
}
}
}
}
index.php(控制器下调用该方法)
<?php
namespace app\index\controller;
use think\Controller;
use think\Request;
class Index extends Controller
{
public function index()
{
if(request()->isPost())
{
sendEmail([['user_email'=>'收件人的邮箱','content'=>'邮箱信息的内容']]);
}
else
{
return $this->fetch('index');
}
}
}
效果展示:
|