目录
一、配置文件
1、点击QQ邮箱设置 账户
2、点击生成验证码
3、到这一步会提示验证,按照提示发送短信通过验证:
4、发送完成以后会出现一个授权码,保存下来,到后面会用
二、使用步骤
1.对 Laravel 框架中邮件发送的配置文件进行修改:
.env 文件:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.qq.com
MAIL_PORT=465
MAIL_USERNAME=你的邮箱
MAIL_FROM_ADDRESS=你的邮箱
MAIL_FROM_NAME=你的邮箱
MAIL_PASSWORD=授权码
MAIL_ENCRYPTION=ssl
在config/mail.php配置文件中,就是读取的这几个值
修改完成后,配置自己的路由以及发送邮件的控制器
2.编辑控制器、加入以下代码:
// 记得使用内置的邮件类 use Illuminate\Support\Facades\Mail; public function sendMail() { $name = '这是邮件发送的标题'; // Mail::send()的返回值为空,所以可以其他方法进行判断 // Mail::send();需要传三个参数; // 第一个为引用的模板 // 第二个为给模板传递的变量(邮箱发送的文本内容) // 第三个为一个闭包,参数绑定Mail类的一个实例。 Mail::send('emails',['name'=>$name],function($message){ $to = 'itlaowen@qq.com'; $message ->to($to)->subject('邮件测试'); }); // 返回的一个错误数组,利用此可以判断是否发送成功 dd(Mail::failures()); }
文本邮件
Mail::raw('emails',function (Message $message){ $message->subject('主题名称'); $message->to('发送的邮箱地址'); });
3、由于上面👆指定了邮件发送的视图层、所以去创建一个view
这是测试邮件!!
{{$name}}
4、访问自己设置的路由!如果返回一个空数组则表示邮件发送成功。
解决laravel 8 发送邮件提示: cannot sendmessage without a sender address
这是因为我们需要去修改一下 mail.php 配置文件
打开 config/mail.php 找到 from 配置项
我们需要配置发件地址,和显示的昵称,把这两项配置好了就ok啦
'from' => [
'address' => '自己的邮箱地址',
'name' => '邮件名称'
],
测试结果如下