首先我们要配置邮件参数:
1 Laravel中在config/mail.php中修改:
- 'host' => 'smtp.163.com',
- 'port' => 25,
- 'from' => array('address' => '***@163.com', 'name' => '测试'),
- 'username' => '***@163.com', // 注意,这里必须和上一行配置里面的邮件地址一致
- 'password' => '****',
传入 send
方法的
第一个参数为邮件视图的名称。
第二个是传递给该视图的数据,通常是一个关联式数组,让视图可通过 $key
来取得数据对象。
第三个参数是一个闭包,可以对 message 进行各种配置。
- //邮箱激活操作**************************
- $uid = $user2->id; //获取最新插入的id
- $activationcode = md5($user2.time()); //获取邮箱验证时的随机串
- $data = ['email'=>$email, 'name'=>$username, 'uid'=>$uid, 'activationcode'=>$activationcode];
- Mail::send('activemail', $data, function($message) use($data)//use用于引入function外面的数据 activemail是指定的视图
- {
- $message->to($data['email'], $data['name'])->subject('欢迎注册XXX账号');
- });
- //邮箱激活操作**************************
3 在activemail.blade.php中:
- <!doctype html>
- <html lang="zh-CN">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- </head>
- <body>
- 尊敬的 {{ $name }} 用户,
- <br>
- <a href="{{ URL(<span style="color:#ff0000;">'mailBox?uid='.$uid.'&activationcode='.$activationcode</span>) }}" target="_blank">
- 请点击此处激活XXX账号
- </a>
- </body>
- </html>
4 在 mailBox 对应的控制器中获取uid与activationcode并判断是否验证成功返回提示成功的视图