Laravel5.1-邮件发送

来源:互联网 发布:注册中文域名多少钱 编辑:程序博客网 时间:2024/06/16 08:57

在laravel中使用smtp发送邮件很简单;

1、发送设置:在项目根目录下配置环境变量 .env 文件

MAIL_DRIVER=smtpMAIL_HOST=smtp.163.comMAIL_PORT=25MAIL_USERNAME=email_usernameMAIL_PASSWORD=email_password        //这里应该为邮箱设置的三方授权密码MAIL_ENCRYPTION=null
2、php发送代码:

use Mail;
protected  function sendEmail($user)    {        $view = 'emails.login_info';                    //发送邮件模板        $time = ['time'=>date('Y-m-d H:i:s',time())];   //发送的数据,laravel中模板变量都是数组形式        $from = '123@163.com';                          //发送方邮件        $name = '123';                                  //发送方名称        $to = $user['email'];                           //接收方邮件        Mail::send($view,$time,function($message) use($from,$name,$to) {             //注意在use里面必须添加下面使用的所有变量            $message->from($from,$name)->to($to)->subject('登录提醒邮件');           //subject邮件标题           });    }
使用发送:

$data = [            'email' => $request->email,            'password' => $request->password        ];        if(Auth::attempt($data)){            $this->sendEmail($data);                    }else{                    }

注:另外laravel自身邮件发送还需要配置 config/mail.php

 */    'from' => ['address' => null, 'name' => null],   //这里的null要改成实际地址    /*
3、邮件发送模板

views/emails/login_info.blade.php

<div class="col-md-offset-2 col-md-8">  <div class="panel panel-info">    <div class="panel-heading">      <h5>登录提醒邮件</h5>    </div>    <div class="panel-body">        <span>您于{{ $time }}登录网站</span>    </div>  </div></div>