SendCloud+Laravel

2016-11-18  本文已影响0人  Julian1009

SendCloud+NauxLiu/Laravel-SendCloud+Laravel5.3文档 Mail

注册发邮件验证邮箱

业务流程

  1. 用户提交注册信息。
  1. 写入数据库,此时帐号状态未激活,status = 0。
  2. 将用户名密码或其他标识字符加密构造成token。
  3. 将构造好的激活识别码组成URL发送到用户提交的邮箱。
  4. 用户登录邮箱并点击URL,进行激活。
  5. 验证激活识别码,如果正确则激活帐号,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

上一篇下一篇

猜你喜欢

热点阅读