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 …

发表回复

您的电子邮箱地址不会被公开。