這里我們以QQ郵箱為例禾怠,進行郵件發(fā)送忠蝗。
1.更改配置項:
找到.env文件逛绵,更改以下配置項墙歪。
MAIL_DRIVER=smtp
MAIL_HOST=smtp.qq.com
MAIL_PORT=25
MAIL_USERNAME=2829038102@qq.com
MAIL_PASSWORD=sskladaiurciddae --->此處填的是你扣扣郵箱的授權(quán)碼
MAIL_ENCRYPTION=tls -->固定不變
MAIL_FROM_ADDRESS=2829038102@qq.com
MAIL_FROM_NAME=小赫垮媒。
注意舍悯,要想使用qq郵箱發(fā)送功能,必須開放線上服務(wù)器的25端口(登錄服務(wù)器睡雇,找到控制臺)萌衬。
2.使用laravel郵件上傳
使用make:mail 郵件名字,會自動幫你在app\mail\幫你生一個文件類它抱。
里面有一個build方法秕豫,用來加載郵件發(fā)送的頁面。
public function build()
{
// build方法負(fù)責(zé)發(fā)送郵件內(nèi)容,在這里我們發(fā)送一段就行
return this->view('mail.index'); } 如果需要傳參數(shù)抗愁,去構(gòu)造方法里邊 publicemail_token;
// 觸發(fā)器:new時候自動觸發(fā)
public function __construct(token) {this->email_token = token; // dd(this->email_token);
}
3.因為你要點擊按鈕發(fā)送郵件馁蒂,所以你要點擊按鈕跳轉(zhuǎn)到這個方法:
我們默認(rèn)在注冊頁面發(fā)送郵件呵晚,因為你注冊的時候需要給你
郵件發(fā)一個激活碼
執(zhí)行以下laravel提供的方法:
Mail::to(user)->send(new RegisterMail(user["email_token"]));
其中to(x) to用來定義你要發(fā)送給誰
send 用來指定用哪個郵件類來發(fā)送
例子:
post =request->all();
post["password"] = bcrypt(post["password"]);
post["email_token"] = str_random(10); // create()方法往數(shù)據(jù)表里邊填充數(shù)據(jù) // 特別重要!!!!!!!!!! // create方法有返回值,它返回的是你要添加的數(shù)據(jù)user = User::create(post); Mail::to(user)->send(new RegisterMail($user["email_token"]));
需要注意的是,你的user表里邊必須得有email字段沫屡。