SendCloud+Laravel
2016-11-18 本文已影响0人
Julian1009
SendCloud+NauxLiu/Laravel-SendCloud+Laravel5.3文档 Mail
注册发邮件验证邮箱
业务流程
- 用户提交注册信息。
- 写入数据库,此时帐号状态未激活,status = 0。
- 将用户名密码或其他标识字符加密构造成token。
- 将构造好的激活识别码组成URL发送到用户提交的邮箱。
- 用户登录邮箱并点击URL,进行激活。
- 验证激活识别码,如果正确则激活帐号,status = 1。
安装NauxLiu/Laravel-SendCloud
在项目目录下执行
composer require naux/sendcloud
配置
修改 config/app.php,添加服务提供者
"providers" => [
// 添加这行
Naux\Mail\SendCloudServiceProvider::class,
];
配置Laravel
.env文件
MAIL_DRIVER=sendcloud
SEND_CLOUD_USER=SendCloud 的 API_USER
SEND_CLOUD_KEY=SendCloud 的 API_KEY
MAIL_HOST=smtp.126.com( 这里我用的是126的邮箱 )
MAIL_PORT=465
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=ssl
命令行项目目录下输入命令:
php artisan make:mail SendMail
在app/Mail 目录下生成 SendMail.php文件,并设置发送的配置:
public function build(){
return $this->from('NoReplay@clownfish.com')
->subject('注册成功')//设置邮件主题
->view('mail.confirmRegister')//使用Laravel的blade模板
->with(['user' => $this->arr]);//向模板传值
}
模板页面:
view/mail/confirmRegister.blade.php
<h4>恭喜你!你离注册成功还剩一步之遥。</h4>
<p>我们正在向 {{ $user['email'] }} 发送一封确认邮件。请你到收件箱找到确认邮件,完成注册流程。</p>
<a href="http://domain/user/verifyEmail?mail={{ $user['email'] }}&token={{ $user['register_token'] }}" target="_blank">点击激活邮箱</a>
发邮件报错:
Expected response code 250 but got code "530", with message "530 5.7.1 Authentication required