码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-06-03 16:17:52      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:邮件发送   收费   app   swift   host   需要   控制器   163邮箱   amazon   

  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‘ => ‘yourname@163.com‘,
  ‘name‘ => ‘yourname‘],
  ‘encryption‘ => env(‘MAIL_ENCRYPTION‘, ‘tls‘),
  ‘username‘ => env(‘yourname@163.com‘),
  ‘password‘ => env(‘password‘),
  ‘sendmail‘ => ‘/usr/sbin/sendmail -bs‘,
 
注意 : .env文件中的配置会覆盖掉这里的配置,有冲突的二者取其一,配置对即可
2.添加路由
  Route::get(‘/sendMail‘, ‘MailController@sendMail‘); 
 
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。
 
文章主要整理自以下地址,更多配置请参照

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

标签:邮件发送   收费   app   swift   host   需要   控制器   163邮箱   amazon   

原文地址:http://www.cnblogs.com/redirect/p/6937296.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!