PHP ile SMTP'den mail gönderme

PHP ile SMTP'den mail gönderme

Bazı sunucular php nin mail fonksiyonunu güvensiz bulup kullanımına izin vermiyorlar. Böyle durumlarda SMTP mail imdadımıza yetişiyor.

SMTP (Simple Mail Transfer Protocol) Elektronik posta gönderme protokolüdür. Php'nin normal mail fonksiyonu ile sunucu adını ve herhangi bir doğrulama yapma gereği olmadan istediğimiz adresi tanımlayarak mailimizi gönderiyorduk.SMTP ile ise maili göndermek için gerçek bir mail hesabına ihtiyacımız var.SMTP ile gönderilen maillerin güvenirliği daha yüksek olduğu için spama düşme olasılığı da düşük oluyor.
Kullanımı oldukca basittir.

Önceliklik SMTP sınıfımız şu adresten indiriyoruz. 

Zip içerisindeki şu 3 dosyayı,mail gönderimi yapacağımız sayfanın bulunduğu klasöre atıyoruz.

 

class.phpmailer.php
class.pop3.php
class.smtp.php

Mail gönderecegimiz php sayfasının içine aşağıdaki kodu kopyalayıp yapıştıryoruz. Zip klasörünün içinde örnek kod mevcuttur.
<?php
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1; // Hata ayıklama 1 = hata ve mesaj gösterir, 2 = sadece mesaj gösterir
$mail->SMTPAuth = true; // burası true olmalı
$mail->SMTPSecure = 'tls'; // Normal bağlantı için tls , güvenli bağlantı için ssl yapın
$mail->Host = "mail.siteadi.com"; // Mail sunucusunun adresi
$mail->Port = 587; // normal bağlantı portu için 587 , güvenli bağlantı için portu için 465 yazın
$mail->IsHTML(true);
$mail->SetLanguage("tr", "phpmailer/language");
$mail->CharSet  ="utf-8"; // mail karakter
$mail->Username = "gonderen@siteadi.com"; // Gönderen e posta adresi
$mail->Password = "epostasifresi"; // Gönderen eposta adresimizin sifresi
$mail->SetFrom("gonderen@siteadi.com", "İsim Soyisim"); // E-posta gönderildiğin gorulecek isim ve mail
$mail->AddAddress("alici@siteadi.com"); // E-posta'nın gönderileceği adres
$mail->Subject = "Konu Basligi"; // E-posta konu başlığı
$mail->Body = "Mesajınız"; //  Gönderilecek mesajınız
if(!$mail->Send()){
echo "Hata oluştu: ".$mail->ErrorInfo;
} else {
echo "E-posta başarılı şekilde gönderildi";
}
?>

Kolay gelsin...