laravel发送邮件配置

 

我这里使用的是qq邮箱,配置以下php

config/mail.phplaravel

'driver' => env('MAIL_DRIVER', 'smtp'),markdown

'host' => env('MAIL_HOST', 'smtp.mailgun.org'),测试

'port' => env('MAIL_PORT', 587),加密

'from' => [
  'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
  'name' => env('MAIL_FROM_NAME', 'Example'),
],spa

'encryption' => env('MAIL_ENCRYPTION', 'tls'),ssl

'username' => env('MAIL_USERNAME'),io

'password' => env('MAIL_PASSWORD'),function

'sendmail' => '/usr/sbin/sendmail -bs',模板

'markdown' => [
  'theme' => 'default',

  'paths' => [
    resource_path('views/vendor/mail'),
  ],
],

这里的配置参数我所有写在.env文件里方便管理

.env文件

MAIL_DRIVER=smtp  //由于laravel其余邮件发送方式要么有数量限制要么收费,因此在这里仍是选smtp发送
MAIL_HOST=smtp.qq.com
MAIL_PORT=465    //与下面ssl方式要保持一致
MAIL_USERNAME=xxxx  //qq邮箱地址
MAIL_PASSWORD=xxxxxxxxxxx     //这里不是qq密码,是qq邮箱中,开启smtp服务后生成的受权码
MAIL_FROM_ADDRESS=xxxx@qq.com  //qq邮箱地址,须要和MAIL_USERNAME一致
MAIL_FROM_NAME=xxxx  //发件人名
MAIL_ENCRYPTION=ssl  //发送方式,使用的是ssl加密发送//

配置完成

记住laravel5.5之后必定要php artisan config:cache,否则不会生效噢

在你的测试的controller中

use Illuminate\Support\Facades\Mail;//调入mail类

//方法中添加以下

$name = '测试发送邮件';
$flag = Mail::send('mails.order',['name'=>$name],function($message){
    $to = 'xxxx@qq.com'; //接受邮件的地址
    $message ->to($to)->subject('测试邮件');
});

mails.order是邮件模板,我定义在了resources/views/mails/order.blade.php中

这样邮件就能够发送了

相关文章
相关标签/搜索