Php İletişim Formu! Smtp Maille Çalışan

Merhaba, bu yazımızda Php iletişim formu yapmayı ve smtp protokolü ile formu mail yollamayı anlatacağız. Burada kullandığımız ufak tefek teknolojiler oldu, buda işimizi rahatlatması amacıyla ihtiyaç duyduk.

Form Tasarımında Bootstrap’tan Yararlandık

Form tasarımı Bootstrap Css Framework ile kolaylıkla hazırladık. Zaten kaynak kodları gördüğünüzde her satırı açıkladığımız için bir zorluk yaşamayacaksınız. Üstelik bu iletişim formu Responsive (mobil uyumlu) olarak çalışacaktır.

Mail Gönderme İşlemi için PhpMailler Sınıfından Faydalandık

Mail gönderme işleminde ise Phpmailler sınıfını kullandık. Çok basic seviyesinde olan bu sınıf ile birlikte form’dan yollanılan veriler spam’a düşmeden gelen kutunuza düşecektir. PhpMailler sınıfı ile ilgili daha detaylı döküman için Php smtp mail gönderme makalemizi inceleyebilirsiniz.

Ayrıca mail yollanması için bir adet mail adresi gerekiyor. Çünkü Phpmailler sınıfı mail adresinize bağlantı kurup, mail adresiniz üzerinden mail atmaktadır. Bunun için ben “yandex” ten deneme mail hesabı açtım. Bu hesap bilgileri “iletişim formu” örnek kodlarında görebilirsiniz. Yani sizde kısa sürede çalıştırmak istiyorsanız hiç uğraşmadan yandex’ten bir mail hesabı açıp bilgilerinizi “kaynak kodlarda” göreceğiniz alanlara katıp kullanabilirsiniz.

İletişim Formumuzun Ekran Görüntüsü

iletişim formu görünüm

Yapmanız gerekenleri sizlere basit olarak anlatmaya çalıştık, biz uygulamasını yaptık sorunsuz bir şekilde mail gönderme işlemi yapmaktadır. Gelin size yandex gelen kutusuna “php iletişim formu” dan gelen test mailini gösterelim.

php-iletişim-formu-gelen-mail-ekran-görüntüsü
Php iletişim formundan gelen test maili, gelen kutumuza düşmüş.

Son olarak altta 2 adet bağlantı katacağız. Biri demo’su diğeri ise kaynak kodlarıdır. Kaynak kodları indirip, kendinize göre düzenleyerek projelerinizde sorunsuz bir şekilde kullanabilirsiniz.

Ayrıca anlamadığınız yada yapamadığınız bir yer olursa bu konuya yorum yaparak destek alabilirsiniz. Bizi takip etmeye devam edin.


Admin
Admin

Bilgiye ve eğitime önem veren, paylaşmayı seven bir insan.

45 Yorumlar
Tümünü göster En Yararlı En Yüksek Puan En Düşük Puan Yorumunuzu ekleyin
  1. Bende bunu arıyordum internette o kadar siteye girdim formlar mail göndermiyordu. Sizin sitenizdeki form hem görselliği güzel hemde mail gönderme işlemini yapabildim. Kaynak kodlarını paylaşmanız güzel olmuş, okulda proje için Html internet sitesi yaptım hoca çalışan iletişim formu istedi. Php ile sayenizde çözdüm dersime faydası oldu admin eline sağlık gerçekten makbule geçti.

  2. Gerçekten test ettim çalışıyor. Mail yolluyormu diye hostinge atıp denedim, gayet başarılı bir şekilde takır takır çalışıyor. En azından form kullanımlarında bu sınıf sayesinde rahatlıkla mail gönderebiliriz. Emeğinize sağlık hocam.

  3. Sitem için iletişim formu arıyordum, kaynak kodları paylaşmanız iyi olmuş. Kodları siteme ekleyeceğim teşekkürler.

  4. Güzel kaynak, WP kullanıcılarının çoğu iletişim formunu kuramamaktan müzdarip.

  5. WordPress gibi hazır sistemlerde eklentilerle halloluyor ama diğer siteler için çok faydalı.Teşekkürler

  6. Hocam PHP İletişim Formu konusunda şu ana kadar rastladığım en iyi kaynak, wordpress kullanan bir çok kişi (benim gibi) bu ihtiyacını gidermek için eklentilere başvuruyor, ancak eklentilerin beraberinde getirdiği Css ve Javascript dosyaları siz de takdir edersiniz ki sunucuya ek bir yük getiriyor. Önerdiğiniz yöntemi sitemde kullanmaya çalışacağım. İşlerinizde kolaylıklar ve başarılar dilerim.
    NOT: Hocam makalenizin 4’üncü satırında imla hatası yapılmış “tekef” tefek olarak düzeltirseniz iyi olur.

    • Sıla hanım yorumunuz için teşekkür ederim. Hatamızı düzelttik, bu tarz yorumları seviyorum çünkü varsa makalenin eksiklerinin giderilmesini sağlıyor ve geliştirilmesine olanak veriyor.

  7. Merhaba internette php iletişim formu ararken sitenize girdim ve hemen formu indirdim, form gerçektende güzel bir şekilde çalıştı özellikle mail gönderme kısmı mükemmel diyebilirim. Sitenizden faydalanacağım bir çok konu olduğunu fark ettim. Merak ettiğim tüm sorularıma bir cevap gibi sırayla bulduğum sitenizde değerli bilgiler mevcut.

  8. Çalışıyor evet ama mesaj gönderenin adı ve e-posta adresi gözükmüyor?

  9. Hocam iyi günler,

    Öncelikle ellerinize sağlık hocam gayet başarılı bir şekilde çalışıyor ancak ufak birkaç sorun var örneğin mailde isim vs yazmıyor sadece konu başlığı ve konu içeriği var. Birde hocam mail attıktan sonra sayfayı yenilediğimiz zaman tekrar mail gönderiyor ve mail gönderildi uyarısı veriyor.

    • Merhabalar,

      Kodlarda gereken düzenlemeleri yapıp güncelledim. Siz tekrar indirip son halini kullanabilirsiniz. Yalnız formu post ettikten sonra, sayfayı tekrar yenilediğiniz de arka planda form değerleri tutulacağı için maili tekrar gönderir.

      Bunun için şöyle ufak bir çözüm üretebiliriz. Önce şu kısmı bulun;

      form action="contact.php"

      Buradaki form action kısmında bulunan contact.php yazan yeri mail_gonder.php olarak düzenleyin. Yani şu şekilde olacak.

      form action="mail_gonder.php"

      Daha sonra ise bir tane mail_gonder.php dosyası oluşturup sayfanızdaki php kodlarını bu sayfaya kes-yapıştır yapın ve kaydedin.

      Zaten mail gönderme işlemi başarılı ise kullanıcıyı contact.php dosyasına geri yönlendirecektir ben ufak düzenlemeleri dosya üzerinde yaptım. Siz son halini indirip kullanmayı unutmayın.

  10. Şu ana kadar denk geldiğim en güzel çalışan form. Ücretsiz free hostlarda bile! Hocam ellerinize emeğinize sağlık. Teşekkürler.

  11. Merhaba, formun çalışır hale gelebilmesi için içindeki hangi alanları tek tek doldurmak gerekiyor ?

  12. cok tesekkurler cok guzel forum lakin bende bir sorun cikti ama anlayamadim

    Mail gönderilirken bir hata oluştu: The following From address failed: trxxx@gmail.com : MAIL not accepted from server,530,5.7.0 Authentication Required.

    Yardimci olabilirseniz cok tesekkurler.

    • Merhaba,

      Gmail ile mail gönderirken aşağıdaki ayarları güncelleyip tekrar deneyin. Değiştirmeniz gereken alanlar TLS ve Port bölümleri olacaktır. Şu şekilde;

      $mail->SMTPSecure = 'tls';
      $mail->Port = 587;

      Kayıt edip tekrar deneyiniz.

  13. Siteme entegre etmem için hangi ayarları yapmam gerekiyor

    Yeni Webmaster’ım

    • Yandex’ten bir mail adresi açıp, mail adresi ve şifresini kodlardaki alana yazmanız yeterli olacaktır. Formu ise kopyala-yapıştır ile istediğiniz yerde kullanabilirsiniz.

  14. Form çok güzel. Bir sorum olacak bu mail formuna dosya gönderme kısmını ekleyemez miyiz. örneğin mail ile beraber rar-zip-yada resim gönderme olsa efsane bir form olacak.

  15. Üstat çalıştıramadım. her şeyi denedim ancak Yandex üzerinden kurumsal mail adresim ile kodlara entegre ettim. ama mail düşmüyor. Sayfadan gitti görünüyor.

    • Örnek demo’yu indirip deneyin. Demo’da çalışır hali mevcuttur. Bütün testleri yapıldı. Demo’yu indirip, mail hesabı bilgilerinizi girmeniz yeterli olacaktır.

  16. Merhaba hocam, mesaj gönderildikten sonra anasayfa(yada farklı bir sayfaya) yönlendirmeyi nasıl yapabiliriz? şu kodları denedim ama formu göndermeden direk yönlendiriyor.

    • Merhaba,

      Kodlarımızın içinde yönlendirme mevcut.

      document.location="contact.php"

      kısmında mail gönderildikten sonra yönlendireceğiniz sayfası belirleyebilirsiniz.

  17. Mail gönderilirken bir hata oluştu: The following From address failed: testmail.xxx@ : Called Mail() without being connected

    abi banada bu şekilde hata geliyor abi yardım eder misin

    • Eren kardeşim yandex’ten bir mail hesabı aç onun bilgilerini kaynak kodlardaki alanlara yaz. Sorunsuz çalışacaktır.

      Karşılaştığın hatanın çözümü ise Php mail gönderme isimli makalemizde mevcut. Hosting firmana destek talebi açıp mail gönderimi için dış smtp yetkisinin verilmesini talep etmelisin.

  18. Hocam merhaba yandex mail oluşturdum ve dediğiniz alanlara girişlerini yaptm fakat bu şekilde bir hata alıyorum. Sunucu firmamla da görüştüm fakat sorunun onlardan kaynaklanmadığını ilettiler. The following From address failed: xx@yandex : MAIL not accepted from server,503,5.5.4 Error: send AUTH command first.

    • Şükran hanım merhaba,

      Sunucu firmaları güvenlik nedeniyle sunucuda bazı optimizasyonlar yapıyorlar, bazı komutları kullanıma kapatıyorlar. Mail gönderimi konusunda hosting firmanızdan kaynaklı gönderim sağlanamıyor. Zaten aldığınız hatayı çeviriden Türkçe’ye çevirdiğinizde daha iyi anlayacaksınız. Hosting firmanızın Dışarıya smtp bağlantısı için erişim izni vermesi gerekiyor. Örnek kodlarımız %100 çalışmaktadır, birçok projemizde aktif olarak kullanılıyor.

      Elinizde php destekli farklı bir firmadan aldığınız hosting hizmeti var ise orada test yapabilirsiniz.

      Yada php destekli bir freehost açın orada test edebilirsiniz.

  19. hayret ben naptımsa çalıştıramadım. Ftp ye attım, yandexten mail adresi açtım. bilgileri girdim. ama olmadı nerde hata yapıyorum acaba. şimdiden teşekkürler

    • Xampp server’ı indirip kurarak Locahost’ta bir deneyin çalışacaktır. Muhtemelen hosting hesabınızda smtp için dışarıya erişim izni verdirmeniz gerekecektir. Destek talebi açıp hosting firmanızdan destek isteyebilirsiniz o işi çözerler.

  20. Merhaba demo çalışıyor fakat linkler ölü yenileme şansınız varmıdır acaba.
    iyi çalışmalar

    • Yorum için teşekkürler şimdi bende fark ettim. Bu hosting firmasından kaynaklı bir problem var. Rar’lı eklediğim dosyalar siliniyor nedense. Sorunu çözdükten sonra tekrar dosyaları yükleyeceğim.

  21. Merhabalar Çok teşekkürler müthiş bir paylaşım. Ancak şu şekilde bir hata alıyorum

    Mail gönderilirken bir hata oluştu: The following From address failed: …@gmail .com : Called Mail() without being connected

    Yardımcı olursanız çok mutlu olurum

    • Merhaba gmail ile mail göndermek için şu alanları şu şekilde güncelleyiniz.

      $mail->SMTPSecure = ‘tls’;
      $mail->Port = 587;

      Bu işlemden sonra göndermesi gerekir. Eğer yine aksi bir durum olursa hosting aldığınız firmaya destek ticket’ı açıp mail php ile mail gönderim için “dış smtp erişim yetkisi” verdirmelisiniz. Böylelikle uzak smtp sunucusuna bağlantı kurabileceksiniz.

  22. Hocam merhaba;
    Bir türlü çalıştıramadım. Neyi yanlış yapıyorum acaba?

    • Volkan bey merhaba, kusura bakmayın iş yoğunluğundan pek siteyle ilgilenemiyorum bu aralar daha şimdi gördüm yorumunuzu.

      Kodlarınızı inceledim bir sorun görünmüyor, gmail için ayarlarınız doğru görünüyor. Benim tahminim hosting’inizin dış smtp erişim yetki sorunu. Mail göndermeye çalışırken bir hata alıyormusunuz? hosting firmanızla iletişim kurup,hosting hesabınız için dış smtp erişim için ayarlarınızı bir kontrol ettiriniz. Smtp erişim mail göndermek için bu ayarları yaptırmanız gerekir.

  23. hocam merhaba
    php dosyalarını iletişim sayfamamı atıcam yoksa php dosya olarak mı kalacak 2 sinide denedim ama yapamadım
    nasıl yapacağımı söylerseniz çok mutlu olurum.
    daha insternet sitemi yayınlamadım.

    • İletişim sayfana katmak istediğin alana yapıştırabilirsin. Ama önemli olan konu iletişim sayfan hangi isimli kayıtlı? mesela iletisim.php dosyası ise bu kodları içerisinde kullanırken formun action kısmını sayfa ismin ile değiştirmen gerekir ;

      [code]

      [/code]

      bu şekilde değiştirdiğinde form, kendi iletişim sayfan içerisinde çalışacaktır.

  24. hocam merrhaba
    php dosyalarını iletişim sayfamamı atıcaktım
    web tasarımla ilgili pek bilgim yokta

  25. .htaccess tarafında nasıl bir düzenleme yapmak gerekiyor?

  26. html tabanlı bir siteye bunu uygulayabilir miyiz ?

  27. SMTP gerçekten kurumsal anlamdaki sitelerde çok önemlidir saolun bilgi ve paylaşım için

  28. PhpMailler mail göndermek için çok uğraşmıştım. php 8 e uyumlusunu bulmakta zor oldu. ama sonunda başardım. teşekkürler

Zeynep T. için bir yanıt yazın Cevabı İptal Et

Translate »
Kılavuz Yazılım
Logo