发送邮件
1.在 Laravel 中发送邮件可以使用内置的 Mail
类。首先需要在 .env
文件中配置邮件服务商的信息:
MAIL_MAILER=smtp MAIL_HOST=smtp.qq.com MAIL_PORT=465 MAIL_USERNAME=你的QQ邮箱账号 MAIL_PASSWORD=你的QQ邮箱授权码 MAIL_ENCRYPTION=ssl MAIL_FROM_ADDRESS=发件人邮箱地址 MAIL_FROM_NAME=发件人名称
2.控制器方法
use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Cache; public function email(Request $request, $id) { // 使用 pluck() 方法获取 email 字段的值,然后使用 first() 方法获取第一个匹配的结果。 $email = Test::where('id', $id)->pluck('email')->first(); $code = rand(1000, 9999); // 将数据存储在 Laravel 的缓存系统中 // 可以在 storage/framework/cache/data 目录中找到缓存文件 Cache::put('email_verification_code:' . $email, $code, 60); // 获取验证码 // $cachedCode = Cache::get('email_verification_code:' . $email); //使用blade模板发送(引用的模板) Mail::send('admin.emails.email', ['code' => $code], function ($message) use ($email) { $message->to($email)->subject('水蜜桃的夏天'); }); if (Mail::failures()) { return ["code" => 0, "msg" => "error"]; } return ["code" => 1, "msg" => "success"]; }
3.blade模板
<!DOCTYPE html> <html> <head> <title>邮箱测试模板</title> </head> <body> <h1>您的验证码是,{{$code}}!</h1> <p>请在一分钟内注册,啦啦啦啦啦啦啦!!!!</p> </body> </html>