导读:
一些刚接触Thinkphp开发的童鞋,可能不太会使用扩展,当遇到需要使用邮箱发送验证码或注册链接时,就手足无措了,本文将教会大家如何使用PHPMailer扩展发送邮件,一起来动动小手吧!
官方下载地址(需要自己整理):
CSDN下载地址(已经通过测试):
一、添加扩展
1、把下载好的PHPMailer.zip解压,放到Thinkphp的extend扩展目录,解压的文件夹命名为:PHPMailer
2、把PHPMailer里所有文件的命名空间设置为 namespace PHPMailer,如下:
二、封装发送邮件的方法
1、在application/common.php文件里,引入PHPMailer扩展
<?php
use PHPMailer\PHPMailer;
2、在application/common.php文件里,封装一个发送邮件的sendMail()方法,代码如下:
<?php
/**
* 邮件发送
*
* @param string $to 收件方
* @param string $title 标题
* @param string $content 内容
*
* @return bool 发送状态
*/
function sendMail($to, $title, $content){
$mail=new PHPMailer();
$mail->IsSMTP(); //设置PHPMailer使用SMTP服务器发送Email
$mail->CharSet='UTF-8'; //设置邮件的字符编码,这很重要,不然中文乱码
$mail->SMTPAuth = true; //设置SMTP是否需要密码验证,true表示需要
$mail->Host = "smtp.qq.com"; //设置邮件服务器的地址
$mail->Port = 465; //设置邮件服务器的端口,默认为25
$mail->From = "api999@qq.com"; //设置发件人的邮箱地址
$mail->FromName = "易发卡"; //设置发件人的姓名
$mail->SMTPSecure = "ssl";
$mail->Username = "api999@qq.com";
$mail->Password = "授权码";
$mail->AltBody = "text/html"; // optional, comment out and test
$mail->IsHTML(true); //设置内容是否为html类型
$mail->Subject = $title; //设置邮件的标题
$mail->Body = $content;
$mail->AddAddress(trim($to), ''); //设置收件的地址
if (!$mail->Send()) {
//发送邮件
//echo '发送失败:' . $mail->ErrorInfo;
return false;
} else {
// echo "发送成功";
return true;
}
}
3、调用发送邮件很简单,如下:
<?php
$to ="15577969@qq.com";//填写要发送到的邮箱
$title = "邮件测试";//标题
$content ="测试phpmailer发送邮件功能";//邮件内容
$falg = sendMail($to, $title, $content);
if($falg ){
echo "发送成功";
}else{
echo "发送失败";
}