php 邮件发送

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.收到结果为
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值