首页 > 代码库 > laravel框架总结(十五) -- 发送邮件
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‘ => ‘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。
文章主要整理自以下地址,更多配置请参照
http://www.jianshu.com/p/8ccb2820df23
http://d.laravel-china.org/docs/5.2/mail
laravel框架总结(十五) -- 发送邮件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。