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

10,396 Gösterim

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


29.01.2016

Konu 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...

Web Sitesine Kısayol Tuşları Ekleme
27.12.2015
1,166 Gösterim

Web Sitesine Kısayol Tuşları Ekleme

Sahibi olduğunuz web sitesine gelen ziyaretçilerin daha hızlı gezinebilmesi için kısayol tuşları ekleyebilirsiniz.

Php ile IMDB ve Sinemalar.com Botu Yapımı
27.01.2016
2,373 Gösterim

Php ile IMDB ve Sinemalar.com Botu Yapımı

Php ile başka siteden veri çekme yöntemini kullanarak, imdb ve sinemalar.com sitelerinden film bilgilerini çekebilen php scripti yapımı

Php SMTP ile Mail Gönderme (İletişim Formu) Yapımı
29.01.2016
10,396 Gösterim

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

Php SMTP Sınıfı olan PHPMailer ile mail gönderme anlatımı - PHP İletişim Formu yapımı - PHP SMTP İletişim Formu

HTML ve CSS ile Duyuru Panosu
11.05.2016
2,547 Gösterim

HTML ve CSS ile Duyuru Panosu

Sahibi olduğunuz web sitesine html ve css ile duyuru panosu ekleyin. HTML duyuru panosu kodları.

Kopyalanan Yazıya Otomatik Kaynak Adresi Ekleme
24.04.2016
1,180 Gösterim

Kopyalanan Yazıya Otomatik Kaynak Adresi Ekleme

Kaynak belirtilmeden kopyalanan yazılara otomatik kaynak adresi eklemek için küçük bir javascript kod blogunun siteye eklenmesi yeterli olacaktır.