1.安装插件
composer require phpmailer/phpmailer
2.application下的common.php文件里加上一下代码,可自己根据需求稍加修改,我用的是验证码
use PHPMailer\PHPMailer\PHPMailer;//引入邮件类 function mailto($user,$code) { //实例化PHPMailer核心类 $mail = new PHPMailer(); //$mail->SMTPDebug = 1;#是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式 $mail->isSMTP(); #使用smtp鉴权方式发送邮件 $mail->SMTPAuth = true; #smtp需要鉴权 这个必须是true $mail->Host = 'smtp.qq.com'; #链接qq域名邮箱的服务器地址 $mail->SMTPSecure = 'ssl'; #设置使用ssl加密方式登录鉴权 $mail->Port = 465; #设置ssl连接smtp服务器的远程服务器端口号 $mail->CharSet = 'UTF-8'; #设置发送的邮件的编码 $mail->FromName = 'xxx'; #设置发件人昵称 显示在收件人邮件的发件人邮箱地址前的发件人姓名 $mail->Username = 'xxx@qq.com'; #smtp登录的账号 $mail->Password = 'xxxx'; #smtp登录的密码 使用生成的授权码 $mail->From = 'xxx@qq.com'; #设置发件人邮箱地址 同登录账号 //邮件正文是否为html编码 $mail->isHTML(true); //设置收件人邮箱地址 $mail->addAddress($user); //添加多个收件人 则多次调用方法即可 //$mail->addAddress('xxx@qq.com'); //添加该邮件的主题 $mail->Subject = '验证码'; //添加邮件正文 $mail->Body = "您的验证码是" . $code; //为该邮件添加附件 //$mail->addAttachment('./example.pdf'); //发送邮件 返回状态 if ($mail->send()) { //成功 return json_encode(['code' => '1']); } else { //失败 return json_encode(['code' => '0']); } }
3.在控制器调用函数,在其他地方也应可以
public function emali(){ mailto('xxxxx@qq.com', '3652'); }