Laravel’in içinde yer alan auth paketini kullanıyorsanız, şifre sıfırlama e-maillerinin içeriği bildiğiniz gibi ingilizcedir. Eğer bunun içeriğini kendi dilinizde değiştirmek istiyorsanız, bu yazımı okumanız yeterli.

Uyarı: Kesinlikle vendor klasöründeki dosyayı değiştirmeyin!!!

Vendor klasöründeki dosyada değişiklik yapmadan kendi mail templatemizi oluşturmak için Taylor amcamız bir kanca eklemiş.

Hadiyin hızlı bir şekilde kendi şifre sıfırlama mail templatemizi oluşturalım.

Artisan ile bir notification oluşturalım:

php artisan make:notification MyResetPasswordMail

App\Notifications klasörü içine oluşturulan MyResetPasswordMail.php dosyasının içeriğini aşağıdaki şekilde düzenleyin:

<?php
 
namespace App\Notifications;
 
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Notifications\Messages\MailMessage;
 
class MyResetPasswordMail 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('Şifre Sıfırlama')
            ->greeting('Şifre Sıfırlama İşlemi!')
            ->line('Bu e-postayı, hesabınızın şifresini sıfırlama isteği aldığımız için aldınız. Şifrenizi sıfırlamak istiyorsanız, aşağıdaki butona tıklayın:')
            ->action('Şifreyi sıfırla', url(config('app.url').route('password.reset', $this->token, false)))
            ->line('Bir şifre sıfırlama isteğinde bulunmadıysanız, Bu emaili dikkate almayınız.');
    }
}

Ardından app klasörü içinde yer alan User.php dosyasındaki User modeline ekleyeceğiniz aşağıdaki kod ile geçerli şifre sıfırlama bildirimini ezmiş (override) olacaksınız.
Laravel dökümantasyonunda yer alan ilgili link

/**
 * Send a password reset email to the user
 */
public function sendPasswordResetNotification($token)
{
    $this->notify(new MyResetPasswordMail($token));
}

Sınıfı modelin en üstüne eklemeyi unutmayın!!!

use App\Notifications\MyResetPasswordMail;

En son olarak mesaj layout’unun içeriğini de değiştirmemiz gerekecek. Bunun için aşağıdaki kodu konsolda çalıştırın.

php artisan vendor:publish

ve ardından notifications içine gelen dosyanın içeriğini değiştirin.

/resources/views/vendor/notifications

Your email address will not be published. Required fields are marked *