laravel 5.5 修改auth 重置密碼郵件


1.輸入 php artisan make:notification RestPassword ,在 app\notification 下創建 RestPassword.php

然后修改 App\User:

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use App\Notifications\ResetPassword as RestPasswordNotification; // 替換 

class User extends Authenticatable
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'email', 'password', 'college', 'class', 'phone'
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    public function sendPasswordResetNotification($token)
    {
        $this->notify(new RestPasswordNotification($token));
    }
}

 2.輸入 php artisan vendor:publish --tag=laravel-notifications 

將自動創建 email.blade.php 模版,我這里並不想修改 

3.更改郵件內容,修改第一步創建的 app\notification\RestPassword.php  

namespace App\Notifications;

use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;

class ResetPassword extends Notification
{
    use Queueable;

    /**
     * The password reset token.
     *
     * @var string
     */
    public $token;

    /**
     * Create a new notification instance.
     *
     * @return void
     */
    public function __construct($token)
    {
        $this->token = $token;
    }

    /**
     * Get the notification's delivery channels.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function via($notifiable)
    {
        return ['mail'];
    }

    /**
     * Get the mail representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return \Illuminate\Notifications\Messages\MailMessage
     */
    public function toMail($notifiable)
    {
        return (new MailMessage)
                    ->subject('XXXX')
                    ->salutation('XXX')
                    ->line('您之所以收到這封郵件是因為我們收到了您重置密碼的申請。')
                    ->action('Reset Password', url(config('app.url').route('password.reset', $this->token, false)))
                    ->line('如果您本人未進行密碼重置,您可以不必采取進一步操作!');
    }

}
沿着 Illuminate\Notifications\Messages\MailMessage 可以找到 Illuminate\Notifications\Messages\SampleMessage 
其中包含了 subject, salutation ...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM