Laravel开发实践laravel学习笔记Laravel

Laravel 自带SMTP配置邮件服务

2017-05-31  本文已影响102人  luozijian
file

开启邮箱服务

要使用邮箱服务就必须开启邮箱的 POP3 服务和 SMTP 服务,本教程演示 QQ邮箱的配置

  1. 登录你的 QQ邮箱,来到 设置->账户,开启下图中的服务

    file
  2. 记录下生成的授权码!记录下生成的授权码!记录下生成的授权码!重要的事情说三遍!

配置

  1. 修改 .env 文件,复制以下内容进去

    MAIL_DRIVER="smtp" //邮件发送驱动
    MAIL_HOST="smtp.qq.com" //邮箱所在主机,比如网易邮箱是 smpt.163.com
    MAIL_PORT=25 //邮箱发送服务端口号,比如一般默认值是25,但如果设置SMTP使用SSL加密,该值为465
    MAIL_USERNAME=123456@qq.com //邮箱账号
    MAIL_PASSWORD=abcdefg //刚刚生成的授权码
    MAIL_ENCRYPTION=tls //加密类型,可以设置为null表示不使用任何加密,也可以设置为tls或ssl
    
  1. 修改 config/mail.php 文件

    'from' => [
     'address' => '123456@qq.com', //用来发送邮件的邮箱
        'name'    => '', //发送邮件使用的用户名
    ],
    

创建邮件模板

resources/emails 创建一个模板文件 test.blade.php,并复制以下内容进去

{{ $data['test1'] }} 这是测试 {{ $data['test2'] }}。

发送邮件

  1. app/helpers.php 添加以下内容

    function sendMail($email,$data,$view){
        Mail::send('emails.'.$view,['data'=>$data],function($message)use($email){
            $message->to($email)->subject('【这是邮件标题】');;
        });
    
  2. 在你需要调用发送邮件的方法的地方添加以下代码

    $email = '123456@qq.com'; //接受邮件的邮箱
    $tempData = [
      'test1' => 'hello', //邮件模板变量,自定
      'test2' => 'world',
    ];
    $view = 'test'; //要使用的模板,比如这里的是刚刚创建的模板 test.blade.php
    sendMail($email,$tempData,$view);
    
  3. 邮件还支持 延时发送添加附件添加图片 的功能,这里就不展开了,详情可以参考官方文档

文档

laravel 邮件发送 官方文档:http://d.laravel-china.org/docs/5.3/mail

上一篇下一篇

猜你喜欢

热点阅读