发送邮件

This commit is contained in:
2025-03-14 17:10:14 +08:00
parent 624a2628d0
commit 5022d1f3d7
5 changed files with 178 additions and 3 deletions
+32 -1
View File
@@ -3,6 +3,7 @@
namespace app\controller;
use app\model\User;
use app\service\MailService;
use app\util\JwtUtil;
use app\util\Util;
use support\Redis;
@@ -13,7 +14,7 @@ class UserController
/**
* 不需要登录的方法
*/
protected $noNeedLogin = ['login'];
protected $noNeedLogin = ['login','sendCode'];
public function login(Request $request)
{
@@ -59,5 +60,35 @@ class UserController
return Util::success($result,trans('login_success'));
}
/**
* 发送邮箱验证码
* @param Request $request
* @return \support\Response
* @throws \Random\RandomException
*/
public function sendCode(Request $request)
{
// $email = $request->input('email');
$email = '1696136552@qq.com';
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
return json(['code' => 400, 'msg' => '邮箱格式错误']);
}
// 生成验证码
$code = str_pad(random_int(0, 999999), 6, '0', STR_PAD_LEFT);
// 发送邮件
$mailService = new MailService();
if ($mailService->sendVerificationCode($email, $code)) {
// 存储验证码到 Redis
Redis::set("verification_code:{$email}", $code, 300);
return Util::success([],'验证码已发送');
}
return Util::fail([],'邮件发送失败');
}
}