Merhaba arkadaşlar , bu yazımda sizlere web projelerinde olmazsa  olmaz olan mail işlemlerini laravel ile nasıl yapılacağını anlatmaya çalışacağım.

Laravel bizlere Mailgun,SparkPost,Amazon SES vb. bir çok kütüphaneye hazır olarak bizlere sunmaktadır.Bunlar ile ilgili detaylı bilgi Laravelin dökümantasyonundan inceliyebilirseniz.Tabi illa bu kütüphaneleri kullanmak zorunda değiliz. Gmail , Hotmail vb. firmaların ücretsiz sunduğu  servisleri kullabilirsiniz. Tabi bu servislerin güvenlik adımları yüzünden Expected response code 250 but got code “535” hatalar ile karşılaşmanız çok normaldir. Bu hataları ufak bir araştırma ile giderebilirsiniz.

Laravel içinde yapılandırmamız gereken 2 adet dosya vardır. Bunlar .env ve config/mail.php dosylarıdır. .env dosyasında bir çok yapılandırma şifremizi ve ayarlarımızı tutuyoruz. mail.php ile detaylarını ayarlıyabiliriz.

Şimdi örnek bir SMTP yapılandırması yapalım. Öncelikle .env dosyamızda  gerekli işlemleri yapalım.

Şimdi bir de mail.php dosyasımızı yapılandıralım.

Yapılandırma işlemlerini burada bitiryoruz ve yapılandırdığımız mail ayarları üzerinden mail gönderme işlemini yapalım. Öncelikle Mail işlemini yapacağımız rotayı tanımlıyoruz.

Rotamızı oluşturdan sonra işlem yapacağımız MailController dosyasına gidiyoruz. Aşağıdaki kodu namespace’in altına ekliyoruz. Böylelikle controller içinde Mail Facade’ını kullanabilir hale geliyoruz.

MailController içinde rotamızın kullandığı sendmail fonksiyonunu oluşturuyoruz ve burada mail gönderme işlemini gerçkeleştiriyoruz.

Burada bir kaç şeyi açıklamak istiyorum. ‘mail.template’ göndereceğimiz mail şablonun yerini belirlediğimiz kısımdır. $data ise mail içerisinde kullandığımız veriler array idir. Şablonu düzenleyip istediğiniz bilgiler ile mail gönderim işlemi gerçekleştirebilirsiniz. Mail ‘e ek dosya göndermek isterseniz “$m->attach(‘path/to/file’)” ekleyebilirsiniz. Kullanabileceğiniz diğer fonksiyonları görmek için Laravelin dökümantasyon dosyasına bakabilirsiniz.

Kolay gelsin iyi çalışmalar.