laravel 利用自己封装的mailer发送邮件

在项目运行中,涉及到注册,更改密码或者与用户交互沟通时,使用成本低的邮件发送会是我们的不二选择,本文以qq邮件为例,记录怎么利用laravel方便快捷的发送邮件(好记性不如烂笔头)

author:he
qq:760863706
laravel:laravel 5.1.*
date:2018-9-16

1:开启邮件smtp服务

进入qq邮件设置,开启服务,获取登录密码,这里假设为xxxxx
qq邮件设置开启smtp服务

2:laravel 配置mail相关参数

项目/config/mail.php更改相关参数

'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.qq.com'),
'port' => env('MAIL_PORT', 465),
'from' => ['address' => '760863706@qq.com', 'name' => '发件人'],

项目.env文件配置对应参数

MAIL_DRIVER=smtp
MAIL_HOST=smtp.qq.com
MAIL_PORT=465
MAIL_USERNAME=760863706@qq.com
//获取的登录密码
MAIL_PASSWORD=xxxxx
MAIL_ENCRYPTION=ssl

3:项目实测
(1):假如我们只是发生一个简单的文本信息,可以用如下的方式进行,在控制器中引入mailer类,方法中根据具体逻辑发送文本信息

//控制器引入类
use Mail;
//方法中具体使用
//待接收邮箱地址
$to = '760863706@qq.com';
Mail::raw('这是一段简单的文本信息', function ($message) use ($to) {
           $message ->to($to)->subject('文本的主题');
       });

(2):假如我们想给用户发送一个详细的html页面,里面包含各种样式,可以使用以下方法发送
(2-1):只发送模板,不涉及传参

//调用test模板,文本详细路径为:项目/resources/views/index/test.blade.php
$to = '760863706@qq.com'; 
Mail::send('index/test',[],function($message) use ($to){    
            $message ->to($to)->subject('模板发送测试');
       });
 //模板代码
 <!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
	<h1 style="color: red">这个是一个html模板测试</h1>
</body>
</html>

通过测试得到的邮件显示效果如下:
模板
(2-2):发送模板,涉及传参

//调用test模板,文本详细路径为:项目/resources/views/index/test.blade.php
$param = '具体参数';
$to = '760863706@qq.com'; 
Mail::send('index/test',['param'=>$param],function($message) use ($to){
            $message ->to($to)->subject('模板传参发送测试');
       });
 //模板代码
 <!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
	<h1 style="color: red">这个是一个html模板传参测试,参数为:<span style="color:blue">{{$param}}</span></h1>
</body>
</html>

通过测试得到的邮件显示效果如下:
模板传参
以上为本文记录的知识点,只是一些简单的使用方法,具体mailer类里面的具体方法和实现过程,可以参考/vendor/laravel/framework/src/illuminate\Mail\Mailer.php

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值