PHP ile SMTP üzerinden Mail Gönderme

PHP ile klasik mail gönderme işlemine göre daha güvenilir olan ve çoğu sunucunun izin verdiği SMTP üzerinden mail yollama işlemini gerçekleştireceğiz. İnternette arattığınız “PHP Mail Form” başlıklı yazılarda gördüğünüz örnekleri çoğunuz serverınıza yüklediğinizde çalışmadığını görmüşsünüzdür. Bunun sebebi kodun çalışmadığı , sizin bir yerlerde yanlışlık yaptığınız ya da serverınızın bozuk olduğu değildir. Sebep çoğu serverın SMTP ile mail gönderme işlemine izin vermesidir. SMTP yani Simple Mail Transfer Protocol yaaani elektronik posta gönderme protokolü , bir e-posta göndermek için sunucu ile istemci arasındaki iletişim şeklini belirleyen protokoldür.

 

İki adet PHP kodumuz var. mail.php ve email.php :

mail.php :

<?php
require "email.php";
$mail = new EMail;
$mail->Username = '[email protected]';  //Buraya mail adresinizi yazın
$mail->Password = 'mail password';  //Mail şifrenizi yazın
$mail->SetFrom($_GET['recipient'],$_GET['name']);  // Name is optional
$mail->AddTo("[email protected]","Name"); // Mail adresinizi yazın. İsim kısmı opsiyonel.
$mail->Subject = $_GET['subject'];
$mail->Message = $_GET['comment'];
$mail->Send();
?>

email.php :

function __construct()
  {
    $this->Server = "mail.yourdomain.com";		//Sadece bu kısmı değiştireceksiniz. Diğer yerler aynı kalacak bu dosyada.
    $this->Port = 587;
    $this->Localhost = "localhost";
    $this->ConnectTimeout = 30;
    $this->ResponseTimeout = 8;
    $this->From = array();
    $this->To = array();
    $this->Cc = array();
    $this->Log = array();
    $this->Headers['MIME-Version'] = "1.0";
    $this->Headers['Content-type'] = "text/plain; charset=iso-8859-1";
  }

index.html dosyasını olabildiğince temiz bıraktım ki istediğiniz yere rahatlıkla ekleyebilesiniz. Sadece sitenize kodları eklerken Javascript dosyalarının çakışmamasına özen gösterin.

 

PHP SMTP Mail gönderme formunu GitHub hesabımdan indirmek için linke tıklayınız.

 

PHP SMTP Mail scriptinin yeni versiyonu için linke tıklayınız.

4 yorum

  1. Örnek için teşekkür ederim. Yalnız birkaç sorum var yardımcı olursanız sevinirim.
    Öncelikle Formda Email adresini yazan ziyaretçinin e-mail adresi gelen postada görünmüyor,
    Diğeri ise Türköe karakter problemi. Mesaj içeriğinde türkçe karakter kullanıldığında karakter aslından farklı bozuk bir şekilde geliyor. Teşekkürler

    • Türkçe karakter sorunu için “charset=iso-8859-1” olarak girilmiş kısmı “charset=utf-8” olarak değiştirirseniz sorun çözülecektir.

      Ziyaretçi mail adresi ve daha açıklayıcı çözümler için scriptin yeni versiyonunu upload ettim. Yazının en altındaki linkten indirip üzerinde çalışabilirsiniz.

  2. Merhaba, mail içeriğinde türkçe karakter problemi yaşamıyorum fakat konu kısmında türkçe karakterler çıkmıyor neden olabilir. Teşekküler.

Cevapla

E-posta adresiniz yayınlanmayacak. Gerekli alanlar işaretlenmelidir *

*