Laravel 5.4 整合SendCloud邮件服务
来源:互联网 发布:淘宝精选是怎么回事 编辑:程序博客网 时间:2024/06/08 02:47
SendCloud是一个比较适合国内的Mail服务商
也很适合新手测试开发,这里推荐给学习Laravel的同学使用
同时github上还有一个整合SendCloud的包Laravel-SendCloud ,后面我们也将使用到
Step1
注册并配置Sendcloud API_KEY
API_USER
如果是测试用户,每天都提供免费的邮件请求次数
下面需要在邮件模板中 添加我们的模板邮件 格式如下: %name%
是我们传给邮件的参数,会自动解析
Step2
回到我们的Laravel框架
首先执行composer
命令安装laravel-sendcloud
包
composer require naux/sendcloud
在config/app.php
的provider
中添加我们的服务提供者
'providers' => [ // 添加这行 Naux\Mail\SendCloudServiceProvider::class,];
然后在.env文件中 配置Sendcloud相关信息
MAIL_DRIVER=sendcloud//以下需要自行添加SEND_CLOUD_USER= #Step1中获取的API_USERSEND_CLOUD_KEY= #Step1中获取的API_KEY
使用artisan命令 生成注册登录模块
php artisan make:auth
下面使用artisan命令创建用户数基表
php artisan migrate
Laravel中默认的用户注册中有Email这个字段,所以就不增加修改了
以上我们的配置环节就结束了
Step3
下面来到代码阶段
首先进入到App/Http/Controller/Auth/RegisterController.php
修改create
方法将用户信息传递给sendVerifyEmailTo()
方法
protected function create(array $data) { $user = User::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), ]); $this->sendVerifyEmailTo($user); return $user; }
这里就到了我们最关键的部分 register
即Sendcloud中邮件模板调用名称 example@gmail.com
为我们默认的发送邮件账户 Laravel
即为发送邮件标题
这里特别需要注意的是我们的命名空间,在phpstorm中拷贝过来还需要重新敲一次 Mail
这里使用到的命名空间是use Illuminate\Support\Facades\Mail;
private function sendVerifyEmailTo($user){ $data = [ 'name' => $user->name, ]; $template = new SendCloudTemplate('register', $data); Mail::raw($template, function ($message) use($user) { $message->from('example@gmail.com', 'Laravel'); $message->to($user->email); }); }
Step4
下面我们只需要在Laravel默认的注册界面中注册新用户
当然,邮箱必须是真实可接收到的邮箱
然后在我们的邮箱中就应该可以看到我们从Laravel发送的邮件了
SendCloud中也会显示邮件的发送状况
如果需要验证token的话,只需要在用户表中添加token和is_active字段,在传到邮件模板中添加回调验证url参数,再添加一个验证token的Controller即可
如果有什么疑惑或者问题可以在评论中回复
- Laravel 5.4 整合SendCloud邮件服务
- laravel 邮件服务
- SendCloud从注册到邮件发送使用心得
- .net core借助sendCloud实现邮件验证码发送
- 接入SendCloud服务——Web API 表单示例
- SSH框架之spring整合javamail实现邮件服务
- laravel之发送邮件
- laravel发送邮件
- laravel中发送邮件
- Laravel 5.2 教程 - 邮件
- laravel-发送邮件
- laravel发送邮件
- 代码 laravel发邮件
- Laravel 发送邮件
- 代码 laravel发邮件
- laravel框架邮件发送
- laravel之发送邮件
- Laravel邮件发送
- SSH关闭远程密码登录---Window&Linux客户端证书登录&window找不到ssh-keygen
- 用volley框架进行网络访问
- Unity5.x学习笔记(2)-物体向上飞
- 记录一下先前对WEBRTC的服务器搭建
- TCP/IP模型与OSI模型的比较
- Laravel 5.4 整合SendCloud邮件服务
- Linux--shell中的命令替换``与$()以及eval命令
- Android四大基本组件介绍
- 启动adb 报错:端口被占用
- 中间有跳板机,mac电脑如何与服务器之间进行上传与下载文件
- (大数据整合)Python、Kettle完整开发
- static关键字
- MAC 安装MySql
- Java 正确的做字符串编码转换