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了。

  • 相关阅读:
    Spring MVC Ajax 嵌套表单数据的提交
    Spring MVC 过滤静态资源访问
    Spring MVC 页面跳转时传递参数
    IDEA Maven 三层架构 2、运行 springMVC
    IDEA Maven 三层架构 1、基本的Archetype 搭建
    EasyUI DataGrid 基于 Ajax 自定义取值(loadData)
    Spring MVC Ajax 复杂参数的批量传递
    Mybatis Sql片段的应用
    在 Tomcat 8 部署多端口项目
    自动升级的设计思路与实现
  • 原文地址:https://www.cnblogs.com/martianShu/p/6031597.html
Copyright © 2011-2022 走看看