我這裏使用的是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中
這樣郵件就能夠發送了