Laravel Mail Gönderme İşlemi

Laravel Mail Gönderme İşlemi

Hepinize merhaba dostlarım 😊. Yine uzun soluklu ve bol front endli bir haftanın içinden yine ben 🙃. Bu yazımı normalde pazar günü okuyacaksınız ama ben son 3 haftadır (Yanlış hatırlamıyorsam tabi) kafam attı ve hafta içinde yazılarımı yazmaya başladım tamamen keyfi olarak yazıyorum pazar gününe yetiştirmeye çalışıyorum 😊. Pazar günleri yazılar geliyor bunu biliyorsunuz sağolun telefonum susmuyor sayenizde 😅

Her neyse dostlarım bu haftaki konumuza gelecek olursak çok ama çok  sevdiğiniz, bazen de nefret ettiğiniz konudan bahsetcem der demez içinizden şu sözlerin geçmiş olduğunu duydum

Hocam iyi güzel Allah razı olsun sevdiğimiz konuyu anlatacaksınız da aynı zamanda nefret ettiğimiz konuyu da neden anlatıyorsunuz da 😅

Aslında dostlarım nefret etmenize hiç gerek yok. Zaten bir yazılımcıysanız eninde sonunda zaten bu konuya bulaşacağız bu kesin zaten 😊. 

Konumuz "Laravel ile Mail Gönderme İşlemi" 😊. Ama önce gelin neden mail gönderme işlemi gereklidir bunu bir inceleyelim

Mail Gönderme İşleminin Önemi

Eveeeet geldik ve bismillah deyip konumuza girdik dostlarım 😊. Şimdi rahatça arkanıza yaslanın ve beni dinleyin dostlarım.

Öncelikle bir e ticaret siteniz var diyelim. Bu sistemde ziyaretçilerin yeni kampanyalardan haberdar olmasını istersiniz değil mi 😊. Ve hatta bu kampanyalardan memnun olan müşterileriniz elbette olacaktır ve bu da demek oluyor ki sitenize potansiyel müşterileriniz de gelecek 🙃. Mutluluğunuz tavan yapar ki daha e ticaret sitesi yapmadan şu mesajda bile mutlu olduk 😊

Bir diğer işlemden bahsedecek olursak dostlarım sitenize bir ziyaretçi mesaj bıraktı. Açtınız mesajı ve güzel bir mesaj göndermiş. Mutluluktan gözleriniz doluyor, seviniyorsunuz 😊. Siz de bu mail gönderen ziyaretçiye yanıt olarak mesaj göndermek istiyorsunuz. Ama bunu outlook üzerinden değil de web siteniz üzerinden göndermek istiyorsunuz. 

Bu ve bunun gibi örnekler uzar gider dostlarım. İşte bu durumlarda biz Laravel üzerinde bulunan ve mail gönderme işlemlerinde son derece yardımı dokunan, kullanımı basit bir sınıfı kullanıp bu işin mantığını çözeceğiz 😊. O halde hızlıca Laravel proje ortamlarımızı kuralım ve mail gönderme işlemlerimiz için komutlarımızı yazmaya başlayalım 😊

Mail Gönderme Komutlarımızı Yazalım

Eveeeet geldik en ama en zevkli kısımlara dostlarım 😊. PHP kodları yazcaz ve bunu duymak cidden çok mutluluk veriyor bize 😊. Şimdi öncelikle dostlarım mail şablonumuzu oluşturalım 😊 Hemen gelelim ve views klasörü altında mail klasörü açalım. Ve içerisine deneme.blade.php dosyamızı oluşturalım. Dosyamızı da oluşturduktan sonra içerisine aşağıdaki verdiğim

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Laravel Mail Gönderme | MFSoftware Blog</title>
</head>
<body>
Merhaba Dostum.
<br>
<p><b>İsim: </b>{{ $name }}</p>
<p><b>Soyisim: </b>{{ $surname }}</p>
</body>
</html>

kodlarımızı yazalım. Şablon kısmımız bu kadar dostlarım. Bu kısmı yazdıktan sonra hemen terminalimizi açalım ve

php artisan make:mail DenemeMail

komutumuzu yazalım. Bu komut ne yaptı diye soracak olursanız dostlarım biz hani mail gönderme işlemi yapcaz ya bu mail gönderme işlemi için Mail sınıfından miras alacak bir sınıf türettik. İsmine de DenemeMail adını verdik. Daha sonra içini

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class DenemeMail extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * Create a new message instance.
     *
     * @return void
     */

    public $name;  // PARAMETRELERI BURAYA KOYACAGI
    public $surname; // PARAMETRELERI BURAYA KOYACAGIZ
    public function __construct($name,$surname)
    {
        $this->name = $name;
        $this->surname = $surname;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        $viewData = [
            "name" => $this->name,
            "surname" => $this->surname
        ];

        return $this->subject("Deneme Mail Bildirimi")->view('mail.deneme',$viewData);
    }
}

şeklinde düzenledik dostlarım. Bu kısımda yapacağımız işlemlerimiz tamam 😊. Sonrasında ise biz bu mail gönderme işlemlerimizi yapacağımız (Daha doğrusu test edeceğimiz) için öncelikle derim gelin hep beraber

Mail İşleminde Olmazsa Olmaz Siteye üye olalım hep beraber. Siteye üye olup giriş yapınca Integrations kısmından Laravel7+ seçeneğini seçince bize

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=##########  // gizledim ben buraları
MAIL_PASSWORD=##########  // gizledim ben buraları
MAIL_ENCRYPTION=tls

şeklinde kodlarımızı alalım. Bu kısımdaki kodlarımızı .env dosyamızın içerisinde gerekli alanlara yapıştıralım. Hemen onu da göstereyim size

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=########  // gizledim ben
MAIL_PASSWORD=########  // gizledim ben
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="deneme@hotmail.com"
MAIL_FROM_NAME="MFSoftware Blog"

şeklinde olacaktır dostlarım 😊. Bu kısma kadar tamamız diyorum. Daha sonrasında bu işlemlerimiz için hiçbir Controller dosyası vs oluşturmayalım yani boşa uğraşmayalım 😊. Hemen routes klasörünün altındaki web.php dosyasını açalım ve içerisine

<?php

use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    $name = "MFSoftware";
    $surname = "Blog";
    \Illuminate\Support\Facades\Mail::to("deneme@hotmail.com")->send(new \App\Mail\DenemeMail($name,$surname));
    echo "Mail Gönderildi";
});

şeklinde kodlarımızı yazalım. Kodlarımızı da yazdığımıza göre dostlarım hemen gelip terminalimizden

php artisan serve

komutunu yazalım. Bize çıktı olarak

http://127.0.0.1:8000

verilen url ye tıklayalım ve karşımıza çıkan sonuç

Mail Gönderildi

şeklinde olacaktır. Az önce kayıt olduğumuz siteye gelelim ve mail kutumuza bakalım. Karşımızda görünen sonuç

şeklinde çıktı bizim karşımıza gelecektir 😊. Ve efsane bir iş çıkardık dostlarım helal olsun bize 💯. İşte mail gönderme işlemi bu kadar kolay ve kısa

Eveeeeet dostlarım bu yazımda sizlere elimden geldiğince dilim döndüğünce "Laravel Mail Gönderme İşlemi" konusunudan elimden geldiğince dilim döndüğünce bahsetmeye çalıştım. Umarım faydalı olmuşumdur. Konu başlarda biraz karmaşık veya zor gelebilir dostlarım anlıyorum. Öğrenme süreci içerisinde bu ve bunun gibi sorunlarla karşılaşmanız son derece doğaldır.  Bu durumda sizlerden yapmanızı istediğim tek şey her yazımda da dediğim gibi "İstikrarlı ve azimli olmalı, bolca pratik yapmalısınız 😊" olacaktır. Bu dediklerimi hayat felsefeniz yaptığınız sürece başarı sizler için kaçınılmaz olacaktır 😊

Aynı zamanda 25 Aralık 2022 de kurmuş olduğum seyyaryazilimci.com soru cevap sitesi üzerinde yazılımda takıldığınız konuları sorabilir, aynı durumda olan yazılımcı dostlarımıza yardımda bulunabilirsiniz. Sorular ve cevaplar belirli bir süre admin onayından geçerek sistem üzerinde yayınlanmaktadır dostlarım bilginize 😊

Hayallerinizi gerçekleştirmeniz ve güzel yerlere gelmeniz dileklerimle... İyi çalışmalar dilerim 😊

Muhammed Fatih BAĞCIVAN
Yazar Hakkında

Kendi Halinde Bir Backend Developer

Önceki YazıLaravel Localization Kullanımı
Sonraki YazıMFSoftware Blog Transfer Oldu
Yorumlar (0)
Bu Yazıya Ait Hiçbir Yorum Bulunamadı (veya admin onaylamadı). İlk Yorum Yapan Sen Ol
Yorum Yapabilirsiniz