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中

這樣郵件就能夠發送了

相關文章
相關標籤/搜索