Tekrar merhaba dostlar,
Laravel ile birlikte gelen email şablonunu kurumsal kimliğimize uygun bir tasarım haline getirdim. Email şablonları üzerinde çalışırken HTML desteği olan mailler için ve sadece düz yazı text desteği sunan mail görüntüleyicileri için farklı ele almak gerektiğini söylemek istiyorum.
Laravel kullanıcıya ait notification işlemlerini ResetPasswordNotification, VerifyEmailNotificaton isimli notification dosyaları üzerinden yapıyor bu yapı hazır bir şekilde size sunuluyor. vendor publish yaptığınızda sadece email şablonunun görüntüsünü düzenleyebiliyorsunuz.
Aşağıda gösterdiğim kısımlarda özelleştirme yapmak isterseniz:
protected function buildMailMessage($url)
{
return (new MailMessage)
->subject(Lang::get('Reset Password Notification'))
->line(Lang::get('You are receiving this email because we received a password reset request for your account.')
->action(Lang::get('Reset Password'), $url)
->line(Lang::get('This password reset link will expire in :count minutes.', ['count' =>
config('auth.passwords.'.config('auth.defaults.passwords').'.expire')]))
->line(Lang::get('If you did not request a password reset, no further action is required.'));
}
php artisan make:notification CustomResetPasswordNotification artisan komutunu çalıştırıp kendinize ait bir notification oluşturmanız gerekiyor. Daha sonra bu notificationun içerisini ResetPassword notification içerisine uygun şekilde implement etmeniz gerekiyor.
User Modeline kendi oluşturduğumuz CustomResetPassword classını import ediyoruz. send... ile başlayan methodu burada belirterek default olan methodu override yapıyoruz, geçersiz kılıyoruz.
public function sendPasswordResetNotification($token)
{
$this->notify(new CustomResetPasswordNotification($token));
}
Aynı işlemi VerifyEmail için de tekrarlayarak kullanıcıya gönderdiğiniz eposta bildirimlerini özelleştirebiliyorsunuz.
Buraya kadar problemsiz çalışıyor test ettim bir sorunla karşılaşmadım.
Şimdi Laravelde olmayan bir notification oluşturarak uygulamama eklemek istiyorum. Mesela Siparişini Alındı olayından sonra kullanıcıya siparişinin alındığına dair bir eposta göndermek istediğimi yapmaya çalışacağım.
Bu başlık altından öğrendiklerimi sizinle paylaşacağım.