1.下载PHPMailer包
composer require phpmailer/phpmailer
2.定义一个function:
function send_email($config,$data){
$toemail = $data['to_email'];//定义收件人的邮箱
$mail= new \PHPMailer\PHPMailer\PHPMailer();
$mail->isSMTP();// 使用SMTP服务
$mail->CharSet = "utf8";// 编码格式为utf8,不设置编码的话,中文会出现乱码
$mail->Host = "smtp.qq.com";// 发送方的SMTP服务器地址
$mail->SMTPAuth = true;// 是否使用身份验证
$username=$mail->Username = $config['username'];// 发送方的邮箱用户名,就是申请SMTP服务使用的邮箱
$mail->Password = $config['password'];// 发送方的邮箱密码,注意这里填写的是“客户端授权密码”而不是邮箱的登录密码!
$mail->SMTPSecure = "ssl";// 使用ssl协议方式
$mail->Port = 465;// ssl协议方式端口号是465/994
$mail->setFrom($username,$config['sender']);// 设置发件人信息
$mail->addAddress($toemail,'');// 设置收件人信息
$mail->Subject = $data['title'];// 邮件标题
$mail->Body = $data['body'];// 邮件正文
if(!$mail->send()){// 发送邮件
return json(['code'=>20000,'msg'=>'发送失败','data'=>$mail->ErrorInfo]);
}else{
return json(['code'=>10000,'msg'=>'发送成功','data'=>'']);
}
}
3.在控制器中使用
$config=[
'username' =>'',//发送方的邮箱用户名,就是申请SMTP服务使用的邮箱
'password' =>'',//发送方的邮箱密码,注意是“客户端授权密码”而不是邮箱的登录密码
'sender' =>'阿猪猪'//设置发件人信息
];
$data=[
'to_email' =>'',//收件人邮箱
'title' =>'邮件标题',// 邮件标题
'body' =>'您的验证码是:123456'// 邮件正文
];
$res=send_email($config,$data);
print_r(json_decode($res->getContent(),true));//返回结果code等于10000时,邮件发送成功
4.收到结果为