Laravel 5.4 整合SendCloud邮件服务
2017-06-20 12:53
309 查看
SendCloud是一个比较适合国内的Mail服务商
也很适合新手测试开发,这里推荐给学习Laravel的同学使用
同时github上还有一个整合SendCloud的包Laravel-SendCloud ,后面我们也将使用到
如果是测试用户,每天都提供免费的邮件请求次数
下面需要在邮件模板中 添加我们的模板邮件 格式如下:
首先执行
在
然后在.env文件中 配置Sendcloud相关信息
使用artisan命令 生成注册登录模块
下面使用artisan命令创建用户数基表
Laravel中默认的用户注册中有Email这个字段,所以就不增加修改了
以上我们的配置环节就结束了
首先进入到
修改
这里就到了我们最关键的部分
这里特别需要注意的是我们的命名空间,在phpstorm中拷贝过来还需要重新敲一次
当然,邮箱必须是真实可接收到的邮箱
然后在我们的邮箱中就应该可以看到我们从Laravel发送的邮件了
SendCloud中也会显示邮件的发送状况
如果需要验证token的话,只需要在用户表中添加token和is_active字段,在传到邮件模板中添加回调验证url参数,再添加一个验证token的Controller即可
如果有什么疑惑或者问题可以在评论中回复
也很适合新手测试开发,这里推荐给学习Laravel的同学使用
同时github上还有一个整合SendCloud的包Laravel-SendCloud ,后面我们也将使用到
Step1
注册并配置SendcloudAPI_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_USER SEND_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中拷贝过来还需要重新敲一次
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即可
如果有什么疑惑或者问题可以在评论中回复
相关文章推荐
- Laravel5.4 发送mail邮件
- 邮件发送服务AWS SES,Mailgun以及SendCloud(转)
- 在腾讯云上把Laravel整合万向优图图片管理能力,打造高效图片处理服务
- Laravel5.5使用sendcloud发送邮件
- 【腾讯云的1001种玩法】 Laravel 整合万向优图图片管理能力,打造高效图片处理服务
- laravel 邮件服务
- laravel5.4 发送SMTP邮件
- laravel5.4使用Laravel Sms和阿里云短信服务实现短信验证码功能
- Laravel 下结合阿里云邮件推送服务
- laravel5.4整合极验验证码3.0
- 【腾讯云的1001种玩法】 Laravel 整合万向优图图片管理能力,打造高效图片处理服务
- laravel5.5 sendCloud 发送邮件(sendCloud Api and naux/sendcloud )
- laravel5.4整合极验验证码3.0
- Laravel 5.4发送邮件
- SpringBoot系列九:SpringBoot服务整合(整合邮件服务、定时调度、Actuator监控)
- laravel5.4用163邮箱发送邮件给qq邮箱遇到的问题
- laravel5.4利用163邮箱发送邮件的步骤详解
- Lumen / Laravel 5.4 使用网易邮箱 SMTP 发送邮件
- laravel5.4 服务提供者设置
- iRedMail邮件服务的部署