K先生个人博客

当前位置:首页 > 爱技术 > 正文

使用laravel6轻松发送邮件

每次写文章最头疼的就是前言,不知道怎么开头。。。这篇文章讲的是laravel6的发送邮件功能,laravel6这个框架最让人头疼的就是太重了,运行速度真心慢,,,不过功能确实挺全的,比如这个邮件发送,用laravel很轻松就做到了。下面来具体的聊聊laravel6的邮件发送是怎么实现的。

laravel6实现发送邮件的准备工作:

发送邮件嘛,邮箱是必不可少的,这里以163邮箱为例。

首先登录你的163邮箱,在设置中找到POP3/SMTP/IMAP选项,然后开启SMTP服务,按照要求操作后你会得到如下图所示的授权密码:

SMTP授权密码

这个授权密码一定要记好哦,人家也说了,只显示一次,错过了就只有重置了。

laravel6轻松实现发送邮件

开始之前,我们需要先安装一个包,composer直接搞就完事了

composer require guzzlehttp/guzzle

耐心等待一会,如果你感觉你的composer速度比较慢,那么你可以看看博主的另一篇文章,composer速度太慢?来试试各大厂商的镜像地址吧!更换一下composer镜像,速度绝对提升一大截。等安装完成之后,我们继续,

我们首先创建一个邮件类,在当前目录下执行:

php artisan make:mail TestMail

要学会多用laravel的artisan命令哦,很方便的。然后我们在TestMail类中的build()方法中这样写:

public function build()
{
    return $this->from('pmb2020@163.com')->view('mail.test');
}

from()参数是你的邮箱,也就是从哪个地方发送,最后的view是你发送的模板内容视图。我们在views/mail目录下创建test.blade.php视图文件。内容嘛,自己随便写写吧。要注意的是,这个视图文件并不是和其他视图一样注册路由然后在浏览器访问的,而是你要发送的邮件内容,简单的说,你这个视图文件<body>中的内容,就是你要发送的邮件内容。

还记得我们准备工作获得的那个授权密码吗?现在我们来配置它。打开env文件,找到下面配置信息:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=25
MAIL_USERNAME=kkk1234@163.com  //写自己的邮箱
MAIL_PASSWORD=MDLLSWSNDWYYOF  //准备工作得到的那个授权密码
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=kkk1234@163.com
MAIL_FROM_NAME="${APP_NAME}"

配置好之后,我们继续,现在我们需要一个路由:

use App\Mail\TestMail;
use Illuminate\Support\Facades\Mail;
Route::get('/mail',function (){
    Mail::to('1234567@qq.com')->send(new TestMail());
});

这里为了方便,我就不写控制器了,直接在路由里面写调用代码了。如果不出意外的话,你访问这个路由的话,你这里面写的这个邮箱就会收到一封邮件了。(这个路由是空白页面,所有看到空白就说明发送成功了。)

总结:

这篇文章算是一篇启蒙文章吧,因为laravel的文档对于新手不太友好,为什么说 不太友好呢,举个例子,文档会告诉你从A地到B地的路上有大山,有大河,有石头怪,,,但对于没有走过这条路的人,内心并没有什么概念。而这篇文章就相当于我开飞机直接把你从A地带到B地,虽然看不到这条路里面具体有什么,但起码你知道这条路怎么走的了,内心会有点把握。至于再往深处走,结合文档看吧。

如果你还有啥疑问,就下面留言吧。

作者K先生本文地址http://www.gold404.cn/

版权声明:本文为原创文章,版权归 K先生个人博客 所有,欢迎分享本文,转载请保留出处,谢谢!

文章评论
* 必填项
可选
可选
评论列表