Toplam 323 konuya 1947 yorum yazıldı.
Php Smtp İle Mail Gönderimi

Merhaba arkadaşlar bu dersimizde sizlerle smtp ile mail gönderimini işleyeceğiz.



SMTP (Simple Mail Transfer Protocol) Elektronik posta gönderme protokolüdür. PHP’nin normal mail fonksiyonuyla genelde server adına ve herhangi bir doğrulama yapmadan istediğimiz bir gönderen adresi tanımlayarak göndermeye çalışıyoruz, SMTP’de ise maili gönderebilmek için gerçek bir mail hesabına ihtiyacımız var. Mail fonksiyonuna kıyasla bu şekilde gönderilen maillerin doğruluğu ve güvenilirliği daha yüksek olduğu için spam (önemsiz) klasörlerine düşme olasığı da azdır.



Bu smtp ile mail gönderimine bir örnek hazırlayalım iletişim formu yapalım...



Öncelikle iletişim formumuzun bulunduguğu html dosyamızı oluşturalım..




<form action="mail/mail.php" method="POST">

<input name="isim" placeholder="Adın" />
<br>
<input name="eposta" placeholder="E-posta adresiniz.." />
<br>
<input name="tel" placeholder="Telefon numaranız" />
<br>
<input name="mesaj" placeholder="Mesajınız" />
<br>
<input type="submit" name="mesajyolla" value="Mesaj gönder" />

</form>


Şimdi bu formumuzu post ettigimiz php mailler sınıfını kullandıgımız php dosyamızı yazalım...




<?php

require_once 'class.phpmailer.php';

if(isset($_POST["mesajyolla"])){

$gonderen = "[email protected]";
$parola = "mailsifresi";
$hedef = $gonderen;
$site = "yavuz-selim.com"; // www. olmadan sitemizi yazıyoruz

$isim = strip_tags(trim($_POST['isim']));
$mails = strip_tags(trim($_POST['eposta']));
$tel = strip_tags($_POST['tel']);
$mesaj = strip_tags(trim($_POST["mesaj"]));

if(!$isim || !$mails || !$tel || !$mesaj){

echo "<script>alert('Lutfen tum alanlari doldurunuz')</script>";
header('refresh:0;url=iletisim.php');

}else{

$mail = new PHPMailer();
$mail->Host = 'webmail.'.$site;
$mail->SMTPAuth = true;
$mail->Username = $gonderen;
$mail->Password = $parola;
$mail->IsSMTP();
$mail->AddAddress($hedef);
$mail->From = $gonderen;
$mail->FromName = 'ILETISIM MESAJI';
$mail->CharSet = 'UTF-8';
$mail->Subject = $isim;

$content = '<div style="background:#222222;color:#ddd;text-align:center;padding:10px;font:16px Arial,sans-serif;">ILETISIM MESAJI</div>
<div style="background:#f3f3f3;line-height:1.5em;padding:10px 5px;color:#222222;font:14px Arial,sans-serif;">

<p><strong>AD SOYAD :</strong>&nbsp;'.$isim.' &nbsp; | &nbsp; <strong>TLF :</strong>&nbsp;<a style="color: #428bca" href="tel:'.$tel.'">'.$tel.'</a>&nbsp; | &nbsp;<strong>E-POSTA ADRESİ :</strong>&nbsp;<a style="color: #428bca" href="mailto:'.$mails.'">'.$mails.'</a>
</p>
<hr />
<p><strong style="display: block;margin-top:5px;">İÇERİK :</strong></p>
<p><div style="word-wrap: break-word;margin-top:5px;">'.$mesaj.'</div></p>
</div>';

$mail->MsgHTML($content);

if($mail->Send()) {

echo '<meta charset="utf-8"><div style="background:#f3f3f3;color:#222222;padding: 10px;display:block;">Mesajaınız başarıyla gönderildi..</div>';
header("refresh:3;url=http://yavuz-selim.com");

} else {

echo '<meta charset="utf-8"><div style="background:#f3f3f3;color:#222222;padding: 10px;display:block;">
<strong>Hata:</strong> İşlem başarısız!<br>';
echo $mail->ErrorInfo;
echo '</div>';
}

}

}else{
header("location:http://yavuz-selim.com");
}

?>


Biraz css ile oynayarak bir iletişim formu yaptık ama olsun :) Yapamayan olursa konu altına yorum atarak bana ulaşabilir..



İlgili sınıf dosyasını Buradan indirebilirsiniz.



Bir sonraki konuda görüşmek üzere...




Yorumlar

Burak

15.04.2018 04:22

Merhaba, HTML Teması kullanıyorum. Temada bulunan iletişim formu çalışmıyor. Tek sayfalık tema olduğu için bu konuda bilgim bulunmamaktadır. Fiilen www.brkakts.com adresini ziyaret edin ve iletişim formunu kontrol edin. Yardımcı olursanız çok mumcun olucam hocam...

Uzun zaman bu kodları aramıştım ancak bulamamıştım. Teşekkürler anlatım için.

PMYO

26.05.2016 08:15

Bende bunu arıyordum hocam çok saolun kesinlikle çok faydalı olmuş yazınız

YAVUZ SELİM ŞAHİN

05.05.2016 12:28

Burhan Kürekçi anlatmaya çalışırım yeni konu eklediğimde :)

Burhan Kürekçi

05.05.2016 12:22

Localhost' a Mail Server Kurmayı Göstere Bilir Misiniz. Yaptığım İşlemlerde Server Bulunamadı Hatası Alıyorum.

karton çanta imalatı

10.04.2016 11:29

Teşekkürler kaleminize sağlık bu konuyu daha önce birçok sitede araştırdım fakat hepsi birbirinden almış.

Ali ÇETİN

30.01.2016 17:43

Abi bunda göndereni farklı gösteremiyor muyuz? Yoksa formu dolduran kişilerin epostalarıyla bize mail göndermesini sağlayabilir miyiz?

YAVUZ SELİM ŞAHİN

09.01.2016 09:22

Cok saolun yorumunuz icin faydali olduysa ne mutlu bana :)

Sedat

09.01.2016 09:06

Yararlı oldu teşekkürler :)

YAVUZ SELİM ŞAHİN

06.01.2016 10:39

Hocam sorunuzu net olarak belirtirmisiniz.

code

06.01.2016 01:47

hocam bunu otomati olarak yapılamazmı mesela kişi

Yorum Yaz