切记,除了你的qq账号+$mail->Password = ""; //发送方smtp密码(授权码)不是默认的之外,其他的都固定.
smtp密码是:
第一步:登录qq邮箱----->设置------>账户------>
必须保持开启状态.(qq邮箱官方会发一个授权码给你.)
下载发送邮件插件:
composer require phpmailer/phpmailer
<?php
declare (strict_types = 1);////严格模式。代表类型要对应哦。不对应是错的哦。举个例子aa("666")。比如我传过去是整形。你用字符串接收的话function aa($a):int{echo $a;},是不是要报错呢,不用严格模式就不报错
namespace app\api\controller;//这个控制器文件的上级目录。指向app哪里就结束了
use PHPMailer\PHPMailer\PHPMailer;//引用发送邮件类
use PHPMailer\PHPMailer\SMTP;//引用smtp授权码类
use PHPMailer\PHPMailer\Exception;//引用发送邮件异常类
class Index
{
public function qqemail()
{
$toemail = '****@qq.com';//发送给谁
$mail = new PHPMailer();
$mail->isSMTP(); //使用smtp鉴权方式发送邮件
$mail->CharSet = 'utf8'; //设置编码
$mail->Host = 'smtp.qq.com'; //qq邮箱smtp邮箱
$mail->SMTPAuth = true; //是否需要认证身份
$mail->Username = "******q.com"; //发送方邮箱
$mail->Password = ""; //发送方smtp密码
$mail->SMTPSecure = 'ssl'; //使用的协议
$mail->Port = 465; //qq邮箱接收的端口号
$mail->setFrom('*****@qq.com', '测试'); //定义邮件及标题
$mail->addAddress($toemail, '成功了!'); //要发送的地址和设置地址的昵称
$mail->addReplyTo('*****@qq.com', '没了'); //回复地址
$mail->Subject = "title!"; //添加该邮件的主题
$mail->Body = '邮件内容'; //该邮件内容
//如果发送失败
if (!$mail->send()) {
return json(['code' => 400 , 'msg'=>'邮件发送失败']);
} else {
return json(['code' => 200 , 'msg'=>'邮件发送成功']);
}
}
}