Php SMTP ile Mail Gönderme (İletişim Formu) Yapımı

Php SMTP ile Mail Gönderme (İletişim Formu) Yapımı

sola ok  Kaldırılan İçerikler

29.01.2016

11,382 Gösterim

Bu içeriği 2 dakikada okuyabilirsiniz.

Php ile İletişim Formu Scripti


Php ile iletişim formu yapılırken genel olarak php mail fonksiyonu kullanılır. Buna alternatif olan ve mailin gitmesini garanti eden bir diğer yol, SMTP ile iletişim formu üzerinden mail göndermektir. SMTP'nin açılımı, Simple Mail Transfer Protocol'dür. Elektronik posta gönderme protokolüdür. Php'nin normal mail fonksiyonu, herahangi bir doğrulama şartı olmadan istediğimiz bir gönderen adresi tanımlayıp gönderilmeye çalışılır. SMTP'de mail göndermek için gerçek bir mail hesabına ihtiyaç vardır. Bu da, php'nin normal mail fonksiyonuyla karşılaştırıldığında, maillerin gerçekliği ve güvenilirliği daha yüksek olduğundan, giden maillerin spam (gereksiz) klasörüne düşme ihtimali azdır.

Php SMTP Sınıfı olan PHPMailer ile mail göndermek için aşağıdaki linke tıklayıp, PHPMailer sınıfına ait dosyaları indirmeniz gerekmektedir. İndirdiğiniz .rar dosyasının içinde bulunan "class.phpmailer.php", "class.smtp.php", "class.pop3.php" adlı dosyaları sunucunuzun ftp dizinine atın.

PHPMailer sınıfı Dosyaları | İNDİR

Aşağıda bulunan hazırlamış olduğum temel iletişim formu ve altındaki php kodları içinde bulunan mail bilgilerini kendinize göre düzenledikten sonra, web sitenizde kullanarak php iletişim formunuzu çalıştırabilirsiniz.
<meta charset="utf-8"/>
<form method="post">
İsim<br/><input type="text" name="ad"/><br/>
Konu<br/><input type="text" name="konu"/><br/>
E-Posta<br/><input type="text" name="eposta"/><br/>
Mesaj<br/><textarea name="mesaj"/></textarea><br/>
<input type="submit" value="GÖNDER" />
</form>
<?php
if(isset($_POST['ad']) && isset($_POST['eposta']) && isset($_POST['konu']) && isset($_POST['mesaj'])) {
 function epostakontrol($email){if (filter_var($email, FILTER_VALIDATE_EMAIL)){return 1;} else {return 0;}}
 $gelen_mail = $_POST['eposta']; $mail_kontol=epostakontrol($gelen_mail);

 if(empty($_POST['ad']) || empty($_POST['eposta']) || empty($_POST['konu']) || empty($_POST['mesaj'])) {
  echo 'Lütfen boş yer bırakmayın.';
 } else if($mail_kontol == "0"){echo 'Lütfen e-posta adresini doğru girin.';} else{
  include 'class.phpmailer.php';
   $mail = new PHPMailer();
   $mail->IsSMTP();
   $mail->SMTPAuth = true;
   $mail->Host = 'mail.site.com';
   $mail->Port = 587;
   $mail->Username = 'mail@adresi.com';
   $mail->Password = 'Mail Şifresi';
   $mail->SetFrom($mail->Username, $_POST['ad']);
   $mail->AddAddress('mail@site.com', 'İsim Soyisim');
   $mail->CharSet = 'UTF-8';
   $mail->Subject = $_POST["konu"];
   $mail->MsgHTML('İsim:'.$_POST["ad"].'<br/>
       Konu:'.$_POST["konu"].'<br/>
       E-Posta:'.$_POST["eposta"].'<br/>
       Mesaj:'.$_POST["mesaj"].'<br/>');
if($mail->Send()) { echo 'Mesajınız başarıyla gönderildi.';}
else { echo 'Mesaj gönderirken bir hata oluştu ve girmiş olduğunuz bilgiler alınamadı.' . $mail->ErrorInfo;}
 }}
?>

Yukarıdaki kodları kopyalamakla uğraşmak istemiyorsanız aşağıdaki linke tıklayıp dosya halinde indirebilirsiniz.

Php SMTP ile Mail Gönderme (İletişim Formu) Scripti | İNDİR



"Php SMTP ile Mail Gönderme (İletişim Formu) Yapımı" başlıklı bu içeriği MasivaTurk.com sitesini kaynak göstererek kullanabilirsiniz. İçeriklerin; MasivaTurk.com sitesi kaynak gösterilmeden herhangi bir web sayfasında, sosyal medyada ve görsel basında yayınlanması yasaktır. Ayrıntılı bilgi için Kullanım Koşulları sayfasını okuyabilirsiniz.

29.01.2016

İçerik hakkında soru sorabilir veya yorumda bulunabilirsiniz.

İsim
Web Site
E-Posta
Mesaj

Yorumlar (4)

  1. Alper

    Merhaba. Ben kendi iletişim formumda alanları şu şekilde yaptım doğru mu acaba? $from = 'From: $_POST["email"]'; $sendTo = 'To: '; $subject = 'Konu: $_POST["subject"]';

    • Furkan Kandemir

      Kullandığınız değişken isimlerini değiştirmeniz bir sorun oluşturmaz. Kodu kendinize göre düzenleyebilirsiniz.

  2. Merhaba, öncelikle iletişim formu için çok teşekkürler. Sitemde mükemmel çalışıyor. Sizden bir ricam daha olacak; bu sayfanızdaki gibi yorumlar kutucuklarını siteme uyarlamak istiyorum. Bu konuda da yardımcı olabilirseniz minnettar kalacağım. Teşekkür ederim.

    • Furkan Kandemir

      Yorumunuz için teşekkür ederim. Sitede bulunan her şey tarafımca kodlanmıştır, bu yüzden, sitedeki herhangi bir tasarımın farklı siteye uyarlanması gibi durumlar, istenilse dahi olmamaktadır. Sitenin tasarımı html/css olduğundan, bu uyarlama durumu olağan dışı. Ancak ekran görüntüsü alınıp, html/css kodları kullanılarak benzeri veya aynısı yapılabilir.

  3. Taner Dora

    Merhaba. Formda yer alan tüm yönergeleri eksiksiz yerine getirdiğim halde form göndermeyi başaramadım. Muhakkak atladığım bir nokta var. Benim asıl görüşmek istediğim konu şu. Bir web sitesi hazırlıyorum ve oldukça şık bir iletişim formu var elimde fakat kodları tam olarak çözümleyememem nedeniyle sunucuya iletemiyorum formu. Direkt olarak iletişim formundan sunucuya göndermem gerekiyor fakat web tasarımıyla profesyonel olarak ilgilenmediğim için anlamakta güçlük çekiyorum.Bu konuda yardımcı olabilir misiniz? Tüm görselleri ve kodları mail adresine gönderebilirim. Cevabınızı bekliyorum şimdiden teşekkürler.

    • Furkan Kandemir

      Merhaba, yukarıda anlatılan kısım; ziyaretçinin forma girdiği bilgileri, site sahibinin belirlediği e-postaya gönderme işlemidir. Bahsettiğiniz "sunucuya iletmek"ten kasıt, veri tabanına kaydetmek ise eğer, bu farklı bir konuya giriyor. E-posta adresinize mail gönderdim.

  4. Volkan Özüdoğru

    Üstadım selamlar. Bu smtp ile iletişim formu olayını bir türlü halledemedim. Kafayı yemek üzereyim diyebilirim. Bu iş zor değil sanırım ama ben neden yapamıyorum anlayamadım gitti. Eğer zamanınız olursa sizden bu konuda yardım isteyecektim. Olumlu yada olumsuz mailinizi bekliyorum...

    • Furkan Kandemir

      E-Posta gönderdim.


Bu İçerikler de İlginizi Çekebilir...

Tarihte Bugün Scripti Yapımı
06.06.2016
1,405 Gösterim

Tarihte Bugün Scripti Yapımı

Tarihte bugün scripti, asp, php gibi programlama dilleriyle, farklı şekillerde kodlanabilir. En basit haliyle php ile tarihte bugün kodları, scripti

PHP ile TC Kimlik Numarası, Ad, Soyad, Doğum Tarihi Doğrulama
09.07.2016
3,506 Gösterim

PHP ile TC Kimlik Numarası, Ad, Soyad, Doğum Tarihi Doğrulama

Php ile tamamen yasal olarak tc kimlik numarası, isim, soyisim, doğum tarihi doğrulama

CSS ile Scrollbar Ayarları
29.12.2015
1,324 Gösterim

CSS ile Scrollbar Ayarları

Web sitelerinde bulunan scrollbar(kaydırma çubuğu) görünümünü kişiselleştirmek için gereken kodlar.

Localhost .htaccess Ayarı
24.01.2016
1,312 Gösterim

Localhost .htaccess Ayarı

Php ile kodlama yaparken herkesin kullandığı .htaccess dosyası localhostta aktif değildir. Kodlama esnasında birçok sorunu önlemek için .htaccess dosyasını localhostta aktif etmek gerekmektedir.

PHP ve jQuery ile Anında Önizlemeli Arama Formu
20.06.2016
1,304 Gösterim

PHP ve jQuery ile Anında Önizlemeli Arama Formu

Her webmaster, sahibi olduğu siteye, Google gibi anında önizlemeli site içi arama motoru eklemek ister. Bunu PHP, jQuery kullanarak yapmak mümkündür.