SMTP ile mail gönderme

Bir çok yerde smtp ile mail gönderme hakkında bilgiler bulunuyor ama yinede ilk konularıma basit konularla başlamayı tercih ettim 🙂

Konuya dönecek olursak php ile smtp kullanarak mail göndermek aslında zor değil. Aşağıdaki adımları takip edin ve en alttaki smtp mail kütüphanelerinin bulunduğu dosyaları indirip hostinginize yükleyin.

Öncelikle veriler post ettiğinizi var sayalım ve bunları bir değişkene atayalım:

$username = stripslashes(strip_tags(htmlspecialchars($_POST["username"])));
$email = stripslashes(strip_tags(htmlspecialchars($_POST["email"])));

Ardından verilerin boş post edilmediğini kontrol edelim. Ayrıca html olarak engelleseniz bile öğeyi denetleme bölümünden kaldırılıp boş veri post edilebilir bu yüzden post ettiğiniz sayfada da php ile kontrol etmeniz iyi olur. ardından kütüphanelerimiz dahil ederek gerekli kontrolleri sağlayalım ve mail gönderim işlemini tamamlayalım.

if(!$username || !$email){ // boş alan olup olmadığını kontrol ettik, boş alan varsa süslü parantez içerisindeki işlemleri yapacak
 echo "Lütfen zorunlu alanları doldurunuz!!";
 exit; // boş alan olduğu için daha fazla devam etmesini engelleyip işlemleri sonlandırdık
}
else {
 require("../library/class.phpmailer.php"); //kütüphaneyi ekledik, kütüphane yolunu kendinize göre güncellemeniz gerekmektedir.
 $alici = $email; // mail alacak kişinin mail adresi (yukarıda kullanıcı post etmişti)
 $mail = new PHPMailer();
 $mail->IsSMTP();
 $mail->SMTPDebug = 1;
 $mail->SMTPAuth = true;
 $mail->SMTPSecure = tls; // ssl/tls olarak değişmektedir bu bilgiyi hosting sağlayıcınızdan öğrenebilirsiniz (gmail kullanacaklar için tls olmalıdır)
 $mail->Host = smtphostu; // bu bilgiyi hosting sağlayıcınızdan öğrenebilirsiniz (gmail kullanacaklar için smtp.gmail.com olmalıdır)
 $mail->Port = 587; //ssl için 465, tls için 587 olmalıdır
 $mail->IsHTML(true);
 $mail->SetLanguage("tr", "library/phpmailer/language");
 $mail->CharSet ="utf-8";
 $mail->Username = "info@site.com"; // maili göndereceğiniz mail adresi
 $mail->Password = "password"; // mail göndereceğiniz mail adresinin şifresi
 $mail->SetFrom("info@site.com", "Başlık"); // maili göndereceğiniz mail adresi ve mailin başlığı
 $mail->AddAddress($alici); // alıcının mail adresi
 $mail->Subject = "Başlık"; // Mail Başlığı
 $mail->Body = "İçerik"; // Mail içeriği
}

Mail gönderimini yapmak ve başarılı olup olmadığını görmek için bunu ekleyin:

if(!$mail->Send()){
 echo "E-mail Hatası: ".$mail->ErrorInfo;
 echo "Gmail kullanıyorsanız lütfen hesabınızın güvenliği düşük uygulamalara açık oduğunu kontrol edin!";
} else {
 echo "İşlem Başarılı.";
}

Github üzerinden mail kütüphane dosyalarını indirmek için tıklayın.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir