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.
İ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.
Üçü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.
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.
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.
çok teşekkürler Türkçe kaynak yoktu sayenizde öğrendim