Как изменить пароль для отправки сообщения электронной почты в laravel?

Я начинаю в Ларавеле. В настоящее время я изучаю эту структуру. Моей версией Laravel является 5.3.

Я подделываю свой auth, используя php artisan make:auth Все работают нормально. Также я настроил gmail smtp в моем .env файле и mail.php в config directgory. Все отлично работают. Но я видел по умолчанию по умолчанию забытый пароль. Тема сообщения « Reset Password . Я хочу изменить это.

Я видел какой-то блог. Я нашел блог. Я реализую это на своем сайте. Но такой же выход идет.

Я следил за этими ссылками –

https://laracasts.com/discuss/channels/general-discussion/laravel-5-password-reset-link-subject

https://laracasts.com/discuss/channels/general-discussion/reset-password-email-subject

https://laracasts.com/discuss/channels/laravel/how-to-override-message-in-sendresetlinkemail-in-forgotpasswordcontroller

Вы можете изменить свой адрес электронной почты для сброса пароля, но для этого вам потребуется дополнительная работа. Во-первых, вам нужно создать собственную реализацию уведомления ResetPassword .

Создайте новый класс уведомлений внутри каталога app\Notifications , ResetPassword.php его ResetPassword.php :

 <?php namespace App\Notifications; use Illuminate\Notifications\Notification; use Illuminate\Notifications\Messages\MailMessage; class ResetPassword extends Notification { public $token; public function __construct($token) { $this->token = $token; } public function via($notifiable) { return ['mail']; } public function toMail($notifiable) { return (new MailMessage) ->subject('Your Reset Password Subject Here') ->line('You are receiving this email because we received a password reset request for your account.') ->action('Reset Password', url('password/reset', $this->token)) ->line('If you did not request a password reset, no further action is required.'); } } 

Вы также можете создать шаблон уведомления с помощью команды artisan:

 php artisan make:notification ResetPassword 

Или вы можете просто скопировать-вставить вышеуказанный код. Как вы можете заметить, этот класс уведомлений довольно похож на стандартный Illuminate\Auth\Notifications\ResetPassword . Фактически вы можете просто расширить его из класса ResetPassword по умолчанию.

Единственное различие здесь, вы добавляете новый вызов метода для определения темы электронной почты:

 return (new MailMessage) ->subject('Your Reset Password Subject Here') 

Здесь вы можете узнать больше о Mail Notifications .

Во-вторых, в файле app\User.php вам необходимо переопределить метод sendPasswordResetNotification() по умолчанию, sendPasswordResetNotification() Illuminate\Auth\Passwords\CanResetPassword . Теперь вы должны использовать собственную реализацию ResetPassword :

 <?php namespace App; use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; use App\Notifications\ResetPassword as ResetPasswordNotification; class User extends Authenticatable { use Notifiable; ... public function sendPasswordResetNotification($token) { // Your your own implementation. $this->notify(new ResetPasswordNotification($token)); } } 

И теперь ваш адрес электронной почты для сброса пароля должен быть обновлен!

Сбросить пароль

Надеюсь, эта помощь!

Вы можете создать настраиваемую функцию, которая будет создавать маркер пароля сброса, как это.

  $user = User::where('email', 'example@name.com' )->first(); $password_broker = app(PasswordBroker::class); //so we can have dependency injection $token = $password_broker->createToken($user); //create reset password token $password_broker->emailResetLink($user, $token, function (Message $message) { $message->subject('Custom Email title'); });//send email. 

Вы можете легко изменить класс уведомления, используемый для отправки ссылки на сброс пароля пользователю. Чтобы начать работу, переопределите метод sendPasswordResetNotification в вашей модели пользователя. В рамках этого метода вы можете отправить уведомление с использованием любого выбранного вами класса уведомлений. $token сброса пароля $token является первым аргументом, полученным этим методом, см. Doc for Customization

 /** * Send the password reset notification. * * @param string $token * @return void */ public function sendPasswordResetNotification($token) { $this->notify(new ResetPasswordNotification($token)); } 

Надеюсь это поможет!

Просто добавьте строку:

-> тема ('Новый Subjetc')

в методе toMail файла Illuminate \ Auth \ Notifications \ ResetPassword:

 public function toMail($notifiable) { return (new MailMessage) ->subject('New Subjetc') ->line('You are receiving this email because we received a password reset request for your account.') ->action('Restaurar Contraseña', url(config('app.url').route('password.reset', $this->token, false))) ->line('If you did not request a password reset, no further action is required.'); }