zoukankan      html  css  js  c++  java
  • 利用Laravel自带的Mail类发邮件

      由于项目在运行过程中经常用到邮件检测报警的功能,而在之前我都是用shell脚本发送邮件。shell脚本的优点是可以直接处理服务器指令,但是其缺点就是处理数据的能力效率太低,取数据库的许多数据要先把数据写入文件里,然后每行读文件并且分割来取出你想要的数据,相对来说麻烦太多。所以本人就准备直接利用Laravel框架封装好的Mail类直接发邮件,而且php语言相对shell来说数据处理能力简直强太多,所以果断弃坑了。

      首先新建一个Laravel项目,在其.env文件里找到MAIL相关值,配好邮件发送账号的配置(根据不同的driver和host需自己进行对应,如163或者其他)。

    其次,在config目录下的mail.php配置好address和name,当时我就是没配这个就半天发不出去,这种类似于配置项的东西Lavarel要是都写在.env里那就不是只用在.env里写好了之后就可以一键使用邮件了,岂不是更方便,这个地方给个差评。mail.php把这两个地方加上即可:

    最后在自己的Controller里引用Mail类

    然后在调用发邮件的方法send():

    //发邮件
    $flag = Mail::send('emails.test',['data'=>$data],function($message)
    {
          $to = '123456789@qq.com';
          $message ->to($to)->subject('测试邮件');
     });
     if($flag)
     {
          echo '邮件发送成功';
     }
     else
     {
          echo '邮件发送失败';
     }

    send()方法里第一个参数为resource/views下的任意一个页面(这个页面就是邮箱要显示的内容),第二个参数为从后台传回到那个页面的参数,$to为邮件接收人,subject为邮件的主题,这样就把一封邮件呢发出去了,相比之前方便很多。

    最后我在linux下放一个crontab定时向我这个项目发curl请求就可以定时跑任务了,早就应该弃shell了。

  • 相关阅读:
    Codeforces 376A. Night at the Museum
    Assigning Workstations
    树的直径证明
    Frogger
    Circle
    HDU 1022 Train Problem I
    Argus
    树状数组总结
    C++ 容器(一):顺序容器简介
    C++ 输出缓冲区的管理
  • 原文地址:https://www.cnblogs.com/martianShu/p/6031597.html
Copyright © 2011-2022 走看看