zoukankan      html  css  js  c++  java
  • laravel发送邮件配置

    1.设置发送方,即邮件服务器,可以使用163邮箱,设置smtp,开启后获取授权码

    2.在env文件配置

    MAIL_DRIVER=smtp
    MAIL_HOST=smtp.163.com  //邮箱服务器
    MAIL_PORT=25  //25端口
    MAIL_USERNAME=130****@163.com  //你登录163的邮箱账号
    MAIL_PASSWORD=  *****  //开启smtp的授权码
    MAIL_ENCRYPTION=tls  //邮箱加密方式,25端口的为tls,其他的为ssl

    3.在config下的mail文件中设置

    'from' => [
            'address' => env('MAIL_FROM_ADDRESS', '你登录163的邮箱账号'),
            'name' => env('MAIL_FROM_NAME', '发件人名称'),
        ],
    4.创建控制器,然后调用mail类进行发送
    这里以生成pdf和发送pdf到邮箱为例
    $data = ['name'=>'li','age'=>'12'];
    $pdf = PDF::loadView('pdfTemplate.testPage',compact('data'))->setPaper('a4'); //pdfTemplate.testPage为views目录下的视图文件,compact('data')是传到pdf中的数据,
    setPaper('a4')设置pdf的大小
    //将pdf发送到1093684305@qq.com的邮箱
    Mail::to('1093684305@qq.com')->send(new ReportPage($pdf,$user));
    5.创建mail类
    php artisan make:mail Test
    class ReportPage extends Mailable
    {
        use Queueable, SerializesModels;
        // protected $data;
        protected $pdf;  //传递过来的pdf原数据
        protected $data;  //pdf的变量数据
        /**
         * Create a new message instance.
         *
         * @return void
         */
        public function __construct($pdf,$data)
        {
            $this->data = $data;
            $this->pdf = $pdf;
        }
    
        /**
         * Build the message.
         *
         * @return $this
         */
        public function build()
        {    //发送邮件视图testPage时,data数据也要传到视图中去,output()是pdf原数据,testPage.pdf发送到邮箱的pdf文件名字
            return $this->view('pdfTemplate.testPage',['data'=>$this->data])
                    ->subject('testPage') //邮件主题,即收到邮件时邮件的名字
                    ->attachData($this->pdf->output(), 'testPage.pdf', [
                        'mime' => 'application/pdf'
                    ]);
        }
    }

    这样就可以发送邮件了,如果有报错的地方就自己排一下错,这里只是说一下发送邮箱的一些流程

    踩过这个坑,还有下一个坑等着你,这一路就是给自己填坑,坑填多了,也就习惯了,直到这一路平坦了,也就无怨无悔了。
  • 相关阅读:
    ThingJS之聚光灯,js开发+控制面板轻松搭
    ThingJS不到50行代码就轻松开发拾取功能
    ThingJS:3D交互技术简化第一人称行走模式
    ThingJS:3D地图开发组件更新啦!
    ThingJS教你怎么用拖拽的方式变身热力图
    天空盒结合ThingJS开发平台,会碰撞出什么火花呢
    ThingJS中支持引用css样式并使用js语法开发
    ThingJS基于CMAP组件融合高德地图web API
    ThingJS:让可视化技术成为高效城市管理的好帮手
    SpringBoot整合Filter
  • 原文地址:https://www.cnblogs.com/xiaofeilin/p/13572852.html
Copyright © 2011-2022 走看看