这里主要使用的qq邮箱来举例

流程:登录qq邮箱->进入账户设置->开通stmp服务

laravel配置

.env文件当中:

1
2
3
4
5
6
MAIL_DRIVER=smtp  //服务驱动
MAIL_HOST=smtp.qq.com   //服务器地址
MAIL_PORT=465           //端口
MAIL_USERNAME=5173180@qq.com    //账户
MAIL_PASSWORD=fgxhrahbayzvcai   //你账户的授权码,在开通stmp服务的时候获取到
MAIL_ENCRYPTION=ssl //安全协议

以上的内容如果不因环境变化可直接写入到config/mail.php文件内 config/mail.php内要修改的

1
'from' => ['address' => '5173180@qq.com', 'name' => 'GsMail'],

这样基本配置就算配置好了

测试一下

使用 php artisan tinker

1
2
3
4
5
 Mail::send('emails.test',
['testVar'=>'LaravelAcademy.org'],
 function($message){
 $message->to('5173180@qq.com')->subject('测试邮件  ');
 });

send的参数分别是发送过去的邮件视图,向邮件视图内绑定的参数,一个回调函数 $message变量在视图模板当中恒定存在 相关$message的方法有:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
$message->from($address, $name = null);
$message->sender($address, $name = null);
$message->to($address, $name = null);
$message->cc($address, $name = null);
$message->bcc($address, $name = null);
$message->replyTo($address, $name = null);
$message->subject($subject);
$message->priority($level);
$message->attach($pathToFile, array $options = []);
// 从$data字符串追加文件...
$message->attachData($data, $name, array $options = []);
// 获取底层SwiftMailer消息实例...
$message->getSwiftMessage();