Laravel5.4-5.7 smtp郵件發(fā)送指南(以163免費(fèi)郵箱為例)

1.引入 guzzlehttp/guzzle包

命令:composer require guzzlehttp/guzzle

2.修改.env文件的發(fā)送郵件配置

注意,不用修改mail.config文件,將以下模板替代laravel關(guān)于郵件的配置:

AIL_DRIVER=smtp

MAIL_HOST=smtp.163.com

MAIL_PORT=587

MAIL_FROM_ADDRESS=fsisjacky@163.com

MAIL_USERNAME=fsisjacky@163.com

MAIL_PASSWORD=************

MAIL_FROM_NAME=fsisjacky@163.com

MAIL_ENCRYPTION=ssl

3.創(chuàng)建可郵寄類(類名可根據(jù)實(shí)際需要進(jìn)行修改):

命令:php artisan make:mail UserValidate

4.編輯可郵寄類

執(zhí)行上一條命令,會(huì)在App目錄下多一個(gè)Mail的目錄,UserValidate這個(gè)可郵寄類就在Mail目錄里面,這個(gè)類是用來配置郵件的數(shù)據(jù)操作的,可以簡單的理解為就是郵件專用的控制器。這個(gè)可郵寄類默認(rèn)有一個(gè)builder方法和一個(gè)構(gòu)造函數(shù),構(gòu)造函數(shù)可以依賴注入需要的模型,builder可以調(diào)用要發(fā)送的郵件視圖文件。用法見下面的代碼:

namespace App\Mail;

use ...

class PwdValidate extends Mailable

{

? ? use Queueable, SerializesModels;

? ? //這里的屬性為public,則可以在builder方法引入的視圖中直接{{$user}}這樣用

?? //如果為protected,則必須在builder方法引入視圖后加->with(),詳見手冊

??? public $user;

? ? public function __construct(User $user){? $this->user=$user;//通過依賴注入U(xiǎn)ser模型 }

? ? public function build() {?? return $this->view('email.pwdValidate'); }

}

5.創(chuàng)建發(fā)送郵件操作的接口,即路由:

這里為演示就不寫post表單了,簡單用get方法操作:

Route::get('/mail','Mail\UserMailController@send');

6.創(chuàng)建UserMailController控制器并編寫發(fā)送郵件的方法:

命令:php artisan make:controller UserMailController

并在控制器中添加send()方法:

public function send(){

? ? $address="957403612@qq.com";//要發(fā)送的郵箱地址

? ? $user=User::find(2);//依賴注入的模型數(shù)據(jù)

? ? Mail::to($address)->send(new PwdValidate($user));

}

7.編寫email.pwdValidate視圖文件

在視圖目錄App\Resource\views目錄下,新建一個(gè)email目錄,新建一個(gè)pwdValidate.blade.php視圖模板文件,在視圖模板文件中,簡單的寫一些展示數(shù)據(jù)的模板

<div>

? Test User Name:{{$user->name}}

</div>

8.測試

現(xiàn)在,可以到瀏覽器中輸入網(wǎng)址:abc.text/mail,測試郵件是否被發(fā)送出去了。如果發(fā)送成功,會(huì)出現(xiàn)一個(gè)空白界面,然后在您設(shè)置發(fā)送的郵箱的已發(fā)送郵件里面,會(huì)有一封模板內(nèi)容的郵件。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容