Form Mail Gönderimi

PHP ile Form Mail Gönderimi
PHP ile Form Mail Gönderimi
Bu yazımda Html ile oluşturduğumuz formun Php ile istediğimiz mail adresine gönderimini bir örnek ile sağladım. Detaylar için yazımı inceleyebilirsiniz.

Merhabalar,

Bu yazımda Html ile oluşturduğumuz formun Php ile istediğimiz mail adresine gönderimini bir örnek ile sağlayacağım. Öncelikle sitenizde SMTP ayarlarınızı yaptığınızdan emin olmalısınız. SMTP ayarlarınızı yaptığınız takdirde çalışacaktır. Ayrıca localhost üzerinde de çalışmayacaktır.

İlk olarak Html tarafında Bootstrap web framework’ü yardımıyla hızlıca bir form oluşturalım. Elinizde bulunması ve denemeniz için codepen üzerinden bir form örneğini aşağıya bırakıyorum.

See the Pen İletişim Formu by furkangiray.com (@furkangiray_com) on CodePen.

Bootstrap class ve özellikleri sayesinde Css yazmadan basit ve mobil uyumlu bir form oluşturduk. Bu formda dikkat etmeniz gereken alanlar;

  • Input elamanlarının ve özellikle button elementinin name niteliği ve onun değerleri
  • Form elementinin action değeri (farklı bir dosyada kontrol sağlayacaksanız dosya adını tırnak içine yazınız. Örn: (“mailgonder.php”)
  • Form elementinin method değeri (bu tip formlar için en uygun ve güvenli değer olan “post”)
  • Son olarak label ve input elementlerinin uyumlu olması için label üzerinde for, input üzerinde id nitelik değerlerinin aynı olması gerektiğidir.

Formumuz hazır şimdi sıra Gönder butonuna tıklandıktan sonra gelişecek olaylar. Form etiketi içerisindeki action=” ” niteliği boş olduğu için aynı Php sayfasında kontrol sağlayacaktır. Php dosyamızın en üstüne gelen verileri kontrol eden ve gerekli parametreleri ekleyip hedeflediğimiz işlemi yapalım.

<?php 
    if(isset($_POST['fg-gonder'])){
        $kime = "test@furkangiray.com"; // hedef email
        $adi = $_POST['adi'];
        $soyadi = $_POST['soyadi'];
        $eposta = $_POST['eposta'];
        $telefon = $_POST['telefon'];
        $mesaj = $_POST['mesaj'];
        $konu = "Örnek İletişim Formu";
        $mesaj = '
        <html>
            <head>
                <title>Örnek İletişim Formu</title>
            </head>
            <body>
                <p>'.$adi.' '.$soyadi.' aşağıdaki bilgiler ile size form gönderdi</p>
                <p><b>İsim:</b> '.$adi.'</p>
                <p><b>Soyisim:</b> '.$soyadi.'</p>
                <p><b>E-posta:</b> '.$eposta.'</p>
                <p><b>Telefon:</b> '.$telefon.'</p>
                <p><b>Mesaj:</b> '.$mesaj.'</p>
            </body>
        </html>'; 
        $header  = "Content-type: text/html; charset=utf-8 \r\n"; 
        mail($kime,$konu,$mesaj,$header);
        echo "<p class='alert alert-success'>Başarıyla Gönderildi. Teşekkür ederiz "    . $adi . ", sizinle iletişime geçeceğiz .</p>";
    }
?>


Yukarıdaki Php kodlarında değişkenlerin değerlerini değiştirip özelleştirdikten sonra kullanabilirsiniz. Php mail() fonksiyonu kullanılarak bu örnek yapılmıştır. Detaylı bilgiye fonksiyona tıklayarak Php kendi sitesinden ulaşabilirsiniz.

 

Yazılan Php kodu özetleyecek olursak;

  • Html formu içinde bulunan button name değeri örnek “fg-submit” değerinin POST ile bize ulaşıp ulaşmadığını if ile kontrol ediyoruz. Eğer post ile bu değer bize ulaşmışsa işlemi yapıyoruz.
  • Input elementlerinin name niteliğine girdiğimiz değerleri Php $_POST[‘name’]  özelliği ile alıp değişkenlere atıyoruz. 
  • Son mesaj değişkeninde mail için küçük bir Html yapısı oluşturuyoruz. Önceki tanımladığımız değişkenleri gönderilen mail içeriğine düzgün bir biçimde yerleştiriyoruz.
  • Zorunlu olmayan özel isteklerinizi belirtebileceğiniz 4. parametre olan $header için ise içerik tipinin Html belgesi olduğunu karakter setinin ise utf-8 olacağını belirtiyoruz. Bu sayede olası karakter sorunlarını çözmüş oluyoruz.
  • mail() fonksiyonun aldığı parametreleri düzgün bir şekilde doldurarak mail gönderim kısmını yazıyoruz. Mail gönderildikten sonra, gönderildiğine dair bilgilendirici mesajı da isteğe bağlı olarak ekleyebilirsiniz.

İster istemez form yapısı karşımıza gelmektedir, bunu dinamikleştirmek ve mail gönderimi her zaman müşterilerin istediği bir olaydır.  İşinize yarayacağını ve en azından temel bilgileri kavramanız açısından önemli bir konu olduğunu düşünüyorum. Umarım çalışma mantığını anlamışsınızdır.

Mutlu kodlamalar 🙂

0 Shares:

Benimle yorumunu paylaş;

Bunlara da göz atabilirsin
PHP Çoklu Fotoğraf Yükleme
Devamını Oku

Çoklu Fotoğraf Yükleme

PHP ile çoklu fotoğraf veya dosya yükleme ile ilgili bir örnekten bahsettim. Çoklu fotoğraf yükleme işleminin detaylarını öğrenmek için yazımı inceleyebilirsiniz.

Devamını Oku