Laravel 重置密碼之發(fā)郵件

忘了密碼通過郵件找回 更符合現(xiàn)在的情形,可是邏輯比較混亂,在此梳理一下。 請接著往下看
1.創(chuàng)建一個忘了密碼的按鈕鏈接
按鈕
<a href="/admin/password/reset"   //跳到寫郵件地址
class="am-btn am-btn-default am-btn-sm am-fr" style="border-radius: 4px;">忘記密碼</a>
地址可以通過 終端 php artisan route:list 查詢地址鏈接
2. 我們現(xiàn)在已經(jīng)跳到了發(fā)送填寫郵件的界面,這個時候我們就需要創(chuàng)建一個通知類`

php artisan make:notification ResetPassword(假設(shè)類名叫做ResetPassword`)

3. 通知類也創(chuàng)建好了, 現(xiàn)在要做的就是以郵件的方式把通知發(fā)送出去。

發(fā)送的方式有兩種。
第一種是通過Laravel自動生成的認證模塊 user.php 里寫一個發(fā)送郵件的方法。
第二種是使用Notification門臉類。
Notification::send($users, new ResetPassword($token))
這里我們就主要了解一下第一種方法。

4. 我們打開user.php 在最下面寫一個public 方法
public function sendPasswordResetNotification($token) {
    $this->notify(new ResetPassword($token));
}
5. 現(xiàn)在我們要配置一下.env文件 如下:(qq郵箱為例)
MAIL_DRIVER=smtp
MAIL_HOST=smtp.qq.com
MAIL_PORT=465
MAIL_USERNAME=675983959@qq.com  
MAIL_PASSWORD=fzzbaradqwfsbfgd    填寫的是授權(quán)碼
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=675983959@qq.com
MAIL_FROM_NAME=SHOP商城

注意 :如果是qq郵箱 163郵箱需要自行設(shè)置

到了這里功能基本就能實現(xiàn)了。可以發(fā)郵件了...


6. 這時候我們到第一步進入的界面 填寫號郵箱點擊發(fā)送

image.png

發(fā)送之后 MAIL_FROM_ADDRESS=675983959@qq.com 在配置中的該郵箱地址 會收到一個 郵箱。 里面都是英文的內(nèi)容,我們需要把他修改成中文。
那么打開第二步運行的命令生成的 Notification文件下的ResetPassword.php


    public function toMail($notifiable)
    {
        return (new MailMessage)
                    ->subject('重置密碼')
                    ->line('我們已收到您的郵件請求!')
                    ->action('如修改密碼請點擊', url('/admin/password/reset', $this->token))
                    ->line('謝謝您對我們SHOP商城的支持和信任!');
    }

$this->token 這個通過構(gòu)造里傳進來   在上面 創(chuàng)建一個成員屬性 var $token 構(gòu)造里如下

        public function __construct($token)
        {
             $this->token = $token;
        }

image.png

再還有一點模版里的英文也可以更改 , 自行更改。

7. 效果圖如下:
image.png
8. 點擊如圖的藍色按鈕 會跳到重置密碼 頁面 填好后 跳轉(zhuǎn)可能會有問題

如果是跳到了 xxx.dev/home 這個時候只需要在中間件middleware文件夾下的RedirectIfAuthenticated.php 將里面的內(nèi)容修改為如下圖所示。

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

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載自cr180大神DiscuzX2.5完整目錄結(jié)構(gòu)【source程序文件庫】 /source/admincp后臺...
    cndaqiang閱讀 1,018評論 1 2
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,068評論 25 709
  • 1.寫在前面 本文主要介紹的是zabbix的編譯安裝過程,包含它的基礎(chǔ)環(huán)境LNMP,雖然zabbix官方一般推薦的...
    天之藍色閱讀 2,663評論 0 16
  • 長長的流水幾近枯竭 這就奇了怪了 沿岸分明是柳喑花明,草色青翠 說沒就沒的感覺,最好 是了無牽掛 風(fēng)和雨,就在它的...
    江城妖怪閱讀 227評論 2 4

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