www.gusucode.com > KPPW众包威客PHP开源建站系统 v3.0源码程序 > KPPW/libraries/class/MessagesClass.php
<?php use Illuminate\Support\Facades\Mail; use App\Modules\User\Model\UserModel; class MessagesClass { /** * 发送邮件 * * @param array $data * @param str $view * @return bool */ static function sendMsg($data, $view) { $res = Mail::send( $view, ['data' => $data], function ($message) use ($data) { $message->to($data['email'])->subject($data['title']); }); if ($res) { return true; } return false; } /** * 发送注册激活邮件 * * @param str $email * @return bool */ static function sendActiveEmail($email) { $user = UserModel::where('email',$email)->first(); $validationInfo = Crypt::encrypt([ 'email' => $email, 'validationCode' => $user->validation_code ]); $data = array( 'title' => '客客威客系统注册激活', 'username' => $user->name, 'email' => $email, 'validationInfo' => $validationInfo ); if (self::sendMsg($data, 'email.active')){ return true; } return false; } /** * 发送邮箱验证邮件 * * @param $email * @return bool */ static function sendEmailAuth($email) { $user = UserModel::where('email',$email)->first(); $validationInfo = Crypt::encrypt([ 'email' => $email, 'validationCode' => $user->validation_code ]); $data = array( 'title' => '客客威客系统邮件验证', 'username' => $user->name, 'email' => $email, 'validationInfo' => $validationInfo ); if (self::sendMsg($data, 'email.emailauth')){ return true; } return false; } /** * 发送验证码邮件 * * @param array $user * @return bool */ static function sendCodeEmail($user) { $code = \CommonClass::random(5); $domain = \CommonClass::getDomain().'/themes/default/assets/images/mail-bg.jpg'; $data = array( 'title' => '客客威客系统找回密码', 'username' => $user['name'], 'email' => $user['email'], 'code' => $code, 'domain'=>$domain, ); if (self::sendMsg($data, 'email.paypassword')) { Session::put('payPasswordCode', $code); return true; } return false; } /** * 发送找回密码验证邮件 * * @param str $email * @return bool */ static function sendPasswordEmail($email) { $data = array( 'expire_date' => date('Y-m-d H:i:s', time() + 60*10), 'reset_password_code' => \CommonClass::random(6) ); $user = UserModel::where('email', $email)->first(); $status = $user->update($data); if ($status){ $validationInfo = Crypt::encrypt([ 'email' => $email, 'resetPasswordCode' => $user->reset_password_code ]); $data = array( 'title' => '客客威客系统重置密码验证邮件', 'username' => $user->name, 'email' => $email, 'validationInfo' => $validationInfo ); if (self::sendMsg($data, 'email.password')){ return true; } return false; } } }