Laravel’de Mailgun İle Mail Gönderimi

laravel-mailgun-kullanimi

Laravel framework ile smtp mail gönderimi yapmak istediğimizde bize fazlaca seçenek sunuyor. Kendi sunucumuz üzerinden mail göndermeye çalıştığımızda maalesef spam kutusuna düşmekten kurtulamıyoruz. Bu sebeple alternatif yöntemlerin gerekliliği söz konusu. Bunlardan birisi de mailgun. Bu yazıda Laravel’de Mailgun nasıl kullanılır ondan bahsedeceğim.

Bunun için öncelikle mailgun tarafından gerekli işlemleri yapalım.

Birinci Adım(Kayıt)

Öncelikli olarak bir mailgun hesabına sahip olmanız gerekiyor. Bunun için https://signup.mailgun.com/new/signup adresinden kolayca kayıt olabilirsiniz.

Kayıt olurken Add payment info now (optional) seçeneğini kaldırarak ücretsiz pakete üye olabilirsiniz. Ücretsiz pakette aylık 10.000 e-mail gönderimi mevcuttur.mailgun-kayit

İkinci Adım(Domain Ekleme)

Kayıt işlemlerini tamamladıktan sonra ana menüde bulunan “Domains”  menüsünden yeni bir domain ekleyin.

Domain olarak sub domain eklemeniz önerilmektedir. Buradaki subdomain oluşturma amacımız mx kayıtları içindir. Mailleriniz yine mail@domain.com gibi ana domaininiz üzerinden gönderilecektir.

mailgun-domain-kayit

Üçüncü Adım(MX Kaydı)

Açılan sayfada mailgun tarafından size tanımlanan mx kayıtları görünecek. Bu mx,cname ve text kayıtlarını web sitenizin panelinden(cpanel, plesk vb) girmeniz gerekmektedir.

mailgun-mx

 

Bu adımları tamamladıktan sonra bir saat içinde kayıtlarınız güncellenmiş olur. Çoğu zaman çok daha kısa sürüyor. “Check DNS Recors Now” butonuna tıklayarak sistemin tekrar kontrol etmesini sağlayabilirsiniz. Eğer bir sorun yoksa bütün kayıtların sol tarafında yeşil onay ikonu görünecek.

Mx kayıtlarınız onaylandıktan sonra işin Laravel kısmına geçiyoruz. Kod kısmına geçmeden önce mailgun’dan bazı bilgileri kaydetmemiz gerekecek. Sayfanın üstündeki Domain Information kısmından API Key kodunu not edelim. Birazdan işimize yarayacak.mailgun-domain-info

Laravel Framework-Mailgun Entegrasyonu

Laravel’de Mailgun kullanmak için önceliklie Guzzle paketinin ekli olması gerekmektedir. Bunun için aşağıki kodu terminalde çalıştırmamız ve composer’ı update etmemiz yeterli.

composer require guzzlehttp/guzzle

composer update

Daha sonra .env dosyamızı açıyoruz ve bilgileri aşağıdaki şekilde değiştiriyoruz.[Eğer sorun yaşarsanız bilgileri config/mail.php dosyası üzerinden de değiştirerek deneyebilirsiniz.]

MAIL_DRIVER=mailgun
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

MAILGUN_DOMAIN= oluşturduğunuz subdomain
MAILGUN_SECRET=not ettiğiniz API Key

İşte oldu. Artık mailleriniz mailgun üzerinden gönderilecektir. Mailgun web sitesinden mail trafiğinizle ilgili raporlara ulaşabilirsiniz.

Bir düşünce üzerine “Laravel’de Mailgun İle Mail Gönderimi

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir