laravel框架总结(十五) -- 发送邮件

  laravel自带SwiftMailer库,集成了多种邮件API,支持多种邮件驱动方式,包括smtp、Mailgun、Maildrill、Amazon SES、mail和sendmail,Mailgun和Amazon SES都是收费的,Maildrill目前不支持中国区用户,这三个都是第三方邮件服务。mail驱动使用PHP提供的mail函数发送,sendmail驱动通过Sendmail/Postfix(Linux)提供的命令发送邮件,smtp驱动通过支持ESMTP的SMTP发送邮件。就目前状况来看,使用smtp是最明智的选择,mail不安全,sendmail需要安装配置Sendmail/Postfix,其他要么付费要么不能用。

实例:

1.邮件所在的配置文件在app/mail.php中

  ‘driver‘ => env(‘MAIL_DRIVER‘, ‘smtp‘),

  ‘host‘ => env(‘MAIL_HOST‘, ‘smtp.163.com‘),

  ‘port‘ => env(‘MAIL_PORT‘, 25),

  ‘from‘ => [‘address‘ => ‘[email protected]‘,

  ‘name‘ => ‘yourname‘],

  ‘encryption‘ => env(‘MAIL_ENCRYPTION‘, ‘tls‘),

  ‘username‘ => env(‘[email protected]‘),

  ‘password‘ => env(‘password‘),

  ‘sendmail‘ => ‘/usr/sbin/sendmail -bs‘,

注意 : .env文件中的配置会覆盖掉这里的配置,有冲突的二者取其一,配置对即可

2.添加路由

  Route::get(‘/sendMail‘, ‘[email protected]‘);

3.控制器需要包括以下内容

  use Mail;

  class MailController{

    public function sendMail(){

      $webRecordItem= [‘email‘=>‘your email address‘, ‘subject‘=>‘测试邮件系统‘];

        Mail::raw(‘这是一封测试邮件‘, function ($message) use ($webRecordItem) {

        $message->to($webRecordItem[‘email‘])->subject($webRecordItem[‘subject‘]);

      });

    }

  }

注意 : use Mail不能丢 ,使用use($webRecordItem)传递参数进入闭包函数

其它内容:

  1.有些邮箱需要开启POP3和SMTP服务,网易邮箱会让你设置一个安全码,密码处填写这个就可以

  2.driver用于配置默认的邮件发送驱动,

  3.host是邮箱所在主机,比如我们使用163邮箱,对应值是smtp.163.com,使用QQ邮箱的话,对应值是smtp.qq.com。

  4.port用于配置邮箱发送服务端口号,比如一般默认值是25,但如果设置SMTP使用SSL加密,该值为465。

文章主要整理自以下地址,更多配置请参照

http://www.jianshu.com/p/8ccb2820df23

http://d.laravel-china.org/docs/5.2/mail

时间: 2025-01-01 15:26:16

laravel框架总结(十五) -- 发送邮件的相关文章

应用程序框架实战十五:DDD分层架构之领域实体(验证篇)

在应用程序框架实战十四:DDD分层架构之领域实体(基础篇)一文中,我介绍了领域实体的基础,包括标识.相等性比较.输出实体状态等.本文将介绍领域实体的一个核心内容——验证,它是应用程序健壮性的基石.为了完成领域实体的验证,我们在前面已经准备好了验证公共操作类和异常公共操作类. .Net提供的DataAnnotations验证方法非常强大,Mvc会自动将DataAnnotations特性转换为客户端Js验证,从而提升了用户体验.但是客户端验证是靠不住的,因为很容易绕开界面向服务端提交数据,所以服务端

JavaWeb之JDBC&自定义框架/DBUtil(十五)

简介 关于代码方面,可能在今后博客中很少写,因为我尽量把代码体现成思路出来.以便以后复习看着思路写代码.其实代码成篇贴上去也未必有心思看下去,不如思路来得实际 自定义框架 1. 编写简单自定义框架,简化数据访问层操作 1. 准备环境 1.1 jar包 c3p0-0.9.1.2.jar/mysql-connector-java-5.0.8-bin.jar 1.2 需要获取数据源(这里使用c3p0获取)C3P0Util.java/相应的配置文件c3p0-config.xml 2. 开发简单框架简化D

laravel框架总结(十六) -- composer基本使用

首先看下phpcomposer官方的定义,composer是 PHP 用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件. composer可以帮助我们快速安装类库,通过过composer,我们可以使用大量的第三方库,而无需自己造轮子,现在很多流行框架很注重使用composer,因为你可以使用大量优秀的轮子,大大提高效率. 1.安装 官方网址肯定是最优秀的手册,http://docs.ph

Django框架(十五)—— Django分页组件

Django分页组件 一.分页器 数据量大的话,可以分页获取,查看 例如:图书管理中,如果有成千上万本书,要是都在一个页面中渲染出来,会影响页面美观,所以就要用分页器分页渲染 二.分页器的使用 基本写法 基本写法: 后端: 总数据拿出来 生成分页器Paginator对象(对象里有属性和方法) 生成当前页的对象,current_page=paginator.page(当前页码) 取出前台传过来的页码,current_page_num = int(request.GET.get('page')) -

Django框架(十五)-- cookie和session组件

一.cookie 1.cookie的由来 HTTP协议是无状态的.无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况. 客户端和服务器在某次会话中产生的数据,那无状态的就以为这些数据不会被保留.会话中产生的数据又是我们需要保存的,也就是说要“保持状态”.因此Cookie就是在这样一个场景下诞生. 2.什么是cookie 存储在客户端浏览器上的键值对. 随着服务器端的响应发送给客户端浏览器.

使用Laravel框架发送邮件

今天我们来看看用Laravel框架如何实现邮件发送功能 第一步:在mail.php文件中修改 我这里以163邮箱为例 第二步:修改.env文件 圈出的部分是要在邮箱里设置的授权码,如果没有这个授权码,是不能发送邮件的 在这里设置,按照提示操作就好 第三步:在web.php文件中设置路由 我是在StudentController里面实现的 第四步:在StudentController里代码实现 这是纯文本发送 $msg是我们自定义的变量 $msg->to();是我们发送的目标 需要导个包:use

Python之路【第十五篇】:Web框架

Python之路[第十五篇]:Web框架 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #!/usr/bin/env python #coding:utf-8   import socket   def handle_request(client):     buf = client.recv(10

[麦先生]在Laravel框架里实现邮箱验证---发送邮件

在经过一段时间的使用后,发现在项目中很多地方需要用到用户验证,以短信验证和邮箱验证为主流趋势,小麦总结了如果在Laravel框架中实现发送邮件功能,以后会陆续更上如何实现短信验证..... 在.env文件下 1.配置Laravel文件 MAIL_DRIVER=smtp  //建议使用smtp方式 MAIL_HOST=smtp.163.com  //建议使用163邮箱 QQ邮箱会有报错 MAIL_PORT=25        //smtp 默认为25 MAIL_USERNAME=null   //

项目一:第十四天 1.在realm中动态授权 2.Shiro整合ehcache 缓存realm中授权信息 3.动态展示菜单数据 4.Quartz定时任务调度框架—Spring整合javamail发送邮件 5.基于poi实现分区导出

1 Shiro整合ehCache缓存授权信息 当需要进行权限校验时候:四种方式url拦截.注解.页面标签.代码级别,当需要验证权限会调用realm中的授权方法   Shiro框架内部整合好缓存管理器,整合ehcache环境,只需要配置即可.     <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache-core</artifactId> <version>