laravel框架总结(十五) -- 发送邮件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。
文章主要整理自以下地址,更多配置请参照
以上是关于laravel框架总结(十五) -- 发送邮件的主要内容,如果未能解决你的问题,请参考以下文章