Php ile Mail Gönderimi (İletişim Formu) | Burak Yeni
e
sv

Php ile Mail Gönderimi (İletişim Formu)

avatar

yenibrk

  • e

    Mutlu

  • e

    Eğlenmiş

  • e

    Şaşırmış

  • e

    Kızgın

  • e

    Üzgün

Bu yazımda php ile smtp kullanarak iletişim formu oluşturmayı ve bu iletişim formu üzerinden mail göndermeyi anlatacağım. Bütün hosting firmaları direk mail göndermeyi kapatmıştır. Bunun nedeni smtp kullanılmadan gönderilen mailler spam klasörüne düşmesidir. Smtp mail fonksiyonlarını kullanarak çok kolay bir şekilde iletişim formu üzerinden mail gönderebilirsiniz.

İletişim Formunu hazırlamadan önce PhpMailer sınıfına ait dosyaları indirmeniz gerekecektir. “class.phpmailer.php”, “class.smtp.php”, “class.pop3.php” 3 adet dosyayı indirerek iletişim sayfanızla aynı dizine atacaksınız. Farklı dizine atarsanız çalışmaz.  3 dosyayı indirmeniz için gereken bağlantıyı aşağıda vereceğim.

Php Mailer Sınıf dosyalarını İndir 

Not: İletişim formu hazırlamadan önce domain uzantılı mail adresini oluşturmalısınız. Oluşturmak için hosting firmanızdan yardım alabilirsiniz.

İletişim Formunu Hazırlama

Aşağıda hazırlamış olduğum iletişim formu ve gerekli php kodlarını kendinize göre düzenleyeceksiniz. Burada önemli olan php kodlarıdır. İletişim formunu internetten bularakta kendinize göre düzenleyebilirsiniz.

<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 = '[email protected]';
$mail->Password = 'Mail Şifresi';
$mail->SetFrom($mail->Username, $_POST['ad']);
$mail->AddAddress('[email protected]', 'İ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;}
   }}
?>

Burada düzenleyeceğiniz Yerler ;

$mail->Host = ‘mail.site.com’; = site.com yerine sitenizin ismi.

$mail->Port = 587; = Smtp port adresinizi hosting firmanızdan öğrenin

$mail->Username = ‘[email protected]’; = Domain uzantılı mail adresiniz

$mail->Password = ‘Mail Şifresi’;  = Mail adresinizin Şifresi

$mail->AddAddress(‘[email protected]’, ‘İsim Soyisim’); = Burayada hangi mail adresinize mesajların gelmesini istiyorsanız yazıyorsunuz.

Not: Bu Kodları uygulayıp çalıştırdım başarılı bir şekilde mail gönderimi yapıldı. Bu işlemi hem windows hosting hemde linux hosting üzerinde çalıştırdım. İkisinde de sonuç aldım ve kullanıyorum.

Bu ayarlardan sonra artık smtp üzerinden mail gönderimi yapabileceksiniz. İşlemler bu kadardır. Soru ve görüşlerinizi yorum kısmından bildirebilirsiniz.

Paylaşımı Faydalı Bulduysanız ve Bu Tür Paylaşımların Devamının Gelmesini İstiyorsanız Bağış Sayfamızdan Destek Olabilirsiniz.


Benzer İçerikler
  • Site İçi Yorumlar

*

En az 10 karakter gerekli
  • emre1 sene önce
  • Merhaba, yazı için çok teşekkür ederiz. Sadece undefined hatası alıyorum. Neyden kaynaklı olabilir acaba?

  • MEHMET1 sene önce
  • Merhaba,Kod çok işime yaradı sağolasın. Ancak gönder tuşuna basınca sayfa yenilenerek mesaj gönderildi diyor. yenilenmeden bu işlemi nasıl yapabilirim

  • eycan3 sene önce
  • Onca alan taradım cok yardımın oldu teşekkür ederım sayende yaptım.

  • tasarımcı3 sene önce
  • öncelikle ellerinize sağlık çok açıklayıcı olmuş. yalnız tam anlamadığım bir konu var. bu php kodlarını iletisim.html içine mi yazacağız eğer öyleyse tarayıcılarda kaynagı görüntüle yaptığın zaman mail ve şifre bilgilerimiz görünmez mi ? acil yardımcı olursanız sevinirim. sitemi yayınlayacağım bir bu kaldı ? şimdiden teşekkürler

  • faruk3 sene önce
  • Mesaj gönderirken bir hata oluştu ve girmiş olduğunuz bilgiler alınamadı.The following From address failed: [email protected] : Called Mail() without being connected

  • emin3 sene önce
  • Çok Yararlı bir çalışma Teşekkürler.. Fakat sitemle entegre edemedim yardımcı olabilir misiniz?

  • HAKAN3 sene önce
  • kolay gelsin şimdi ben iletişim sayfama ekledim çalışıyor faklı şekilde yaptım gönder dediğimde form gönderiyor ama ben formun üst kısmına mesajınız iletilmiştir şekilde nasıl yapabilirim. adres kısmına durum=ok uyarısı veriyor mail geliyor fakat sayfada mesajınız gönderildi yazdıramıyorum nasıl yapabilirim

  • İbrahim ÖZSOY3 sene önce
  • Çok teşekkürler, harika paylaşım. Emeğinize sağlık….

  • oner4 sene önce
  • merhaba bunu gmail uzantsı yazarak kullanabilirmiyiz

    • yenibrk4 sene önce
    • evet istediğiniz mail adresine yönlendirebilirsiniz

  • Hakkı4 sene önce
  • Elinize emeğinize Sağlık… 3-4 farklı kaynaktan deneme rağmen sürekli biryerlerden tıkanıyordu fakat sizin verdiğiniz anlaşılır yöntem ile sonuca ulaştım. Tekrardan teşekkür ediyorum kolaylıklar…

  • Erkan4 sene önce
  • Emeğine sağlık Çok güzel çalışıyor kendi iletişim form sayfama uydurmaya çalıştım ama yapamadım konu hakkında yardımcı olabilirmisiniz.

    • yenibrk4 sene önce
    • kod kısmını iletişim formunuzdaki etiketlere göre düzenleyin çalışır. iletişim formundan bağlantı adresini yollayabilirsen bakarım

      • Erkan4 sene önce
      • Sorunu Halletim Çok Güzel Oldu Emeğine sağlık 🙂

      • Erkan4 sene önce
      • üstat benim iş biraz karışık az önce bi kaç deneme yaptık olmadı olay yazmakla biraz zor anlatırım 🙂 gene de anlatayım site: kombipetekbakimservisi.com üstte en sağda BIZ SIZI ARAYALIM butonu var ona tıkladığın zaman ayrı bir pencere açılıyor isim soy isim ve telefon istiyor buraya kadar çok güzel gönder dediğim zaman admin panele gidiyor mesaj ben hem admin panel hem e-posta ya gitsin istiyorum senin verdiğin kodla sadece e mail e gidiyor biraz karışık bağlanıp bakman lazım 🙂

        • Hakkı4 sene önce
        • Post olarak yolladığın sayfada insert yolu ile veritabına aktarabilirsin

  • murat4 sene önce
  • Böyle önemli bir bilgiye kimsenin yorum ve teşekkür yazmaması çok enteresan.. Açık ve net yazılmış. Üstelik dosyalar da kodlara ait. Ben pek çok siteden dosyalar indirdim ama hepsinde eksikler vardı. Haliyle kodlar çalışmadı. Sizin verdiğiniz dosyaları indirdim ve uyguladım.. Sonuç mükemmel.. Emeğinize ve özverinize sağlık olsun.

    • yenibrk4 sene önce
    • güzel Yorumunuz için teşekkür ederim