token = $token; } /** * Get the notification's channels. * * @param mixed $notifiable * @return array|string */ public function via($notifiable) { return ['mail']; } /** * Build the mail representation of the notification. * * @param mixed $notifiable * @return \Illuminate\Notifications\Messages\MailMessage */ public function toMail($notifiable) { if (static::$toMailCallback) { return call_user_func(static::$toMailCallback, $notifiable, $this->token); } if (static::$createUrlCallback) { $url = call_user_func(static::$createUrlCallback, $notifiable, $this->token); } else { $url = url(route('password.reset', [ 'token' => $this->token, 'email' => $notifiable->getEmailForPasswordReset(), ], false)); } return (new MailMessage) ->theme((app()->getLocale() == 'fa') ? 'rtl-theme' : 'default') ->greeting(Lang::get('mail.resetPassword.greeting')) ->salutation(Lang::get('mail.resetPassword.salutation')) ->subject(Lang::get('mail.resetPassword.subject')) ->line(Lang::get('mail.resetPassword.excerpt')) ->action(Lang::get('mail.resetPassword.button'), $url) ->line(Lang::get('mail.resetPassword.timeout', ['count' => config('auth.passwords.'.config('auth.defaults.passwords').'.expire')])); } /** * Set a callback that should be used when creating the reset password button URL. * * @param \Closure $callback * @return void */ public static function createUrlUsing($callback) { static::$createUrlCallback = $callback; } /** * Set a callback that should be used when building the notification mail message. * * @param \Closure $callback * @return void */ public static function toMailUsing($callback) { static::$toMailCallback = $callback; } }