PHP ile SMTP E-posta (E-mail) Göndermek

Centos (Linux) Sunucularda SSH Port Değiştirme
30 Mart 2016
Web.Config Üzerinden Özel 404 Hata Sayfası Oluşturma
5 Nisan 2016

Web sunucular üzerinde e-posta gönderimleri iyi kurgulanması ve ayarlanması gereken bir detaydır. Bu nedenle hemen tüm barındırma sağlayıcılarda olduğu gibi DomainHizmetleri paylaşımlı hosting sunucularında da SPAM tehlikesinin önüne geçmek amacıyla sadece SMTP ile doğrulanan gönderimler çalışmaktadır.

İpucu: PHPmail denilen (doğrulamasız çalışan) fonksiyon kötüye kullanıma oldukça açıktır ve engellenmiş durumdadır. Hem bulunduğunuz sunucunun hem de alan adınızın kara listeye girmesine sebep olmaktadır.

Şimdi bunun için gerekli basit birkaç adımı paylaşacağım:

Öncelikle, PHPmailer kütüphanesini buraya tıklayarak indiriniz.

ZIP içerisindeki şu 3 dosyayı, mail gönderimi yapacak sayfanın bulunduğu klasör içerisine atıyoruz:

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

Aynı ZIP içerisindeki test_mail.php dosyası aşağıdaki gibidir. Bu değişkenleri bize ait bilgilere göre düzenliyoruz:

<?php
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1; // Hata ayıklama değişkeni: 1 = hata ve mesaj gösterir, 2 = sadece mesaj gösterir
$mail->SMTPAuth = true; //SMTP doğrulama olmalı ve bu değer değişmemeli
$mail->SMTPSecure = ''; // Normal bağlantı için boş bırakın veya tls yazın, güvenli bağlantı kullanmak için ssl yazın
$mail->Host = "mail.alanadi.com"; // Mail sunucusunun adresi (IP de olabilir)
$mail->Port = 587; // Normal bağlantı için 587, güvenli bağlantı için 465 yazın
$mail->IsHTML(true);
$mail->SetLanguage("tr", "phpmailer/language");
$mail->CharSet  ="utf-8";
$mail->Username = "gonderen@alanadi.com"; // Gönderici adresiniz (e-posta adresiniz)
$mail->Password = "PAROLA"; // Mail adresimizin sifresi
$mail->SetFrom("gonderen@alanadi.com", "Adınız Soyadınız"); // Mail atıldığında gorulecek isim ve email
$mail->AddAddress("alici@alanadi.com"); // Mailin gönderileceği alıcı adres
$mail->Subject = "Mesaj Basligi"; // Email konu başlığı
$mail->Body = "Mesaj icerigi ve metni"; // Mailin içeriği
if(!$mail->Send()){
echo "Email Gönderim Hatasi: ".$mail->ErrorInfo;
} else {
echo "Email Gonderildi";
}
?>

Böylece SMTP ile güvenilir şekilde e-postalarımızı gönderebileceğiz.

5 Yorum

  1. Furkan dedi ki:

    abi proje dosyamıza 4 tanesinden eklemediğimizde değişiklik yapıyoruz kafam iyice karıştı

  2. ugurerbil dedi ki:

    allah rzı olsun en sonunda çalışan bir kod buldum

  3. Timuçin Sezgin dedi ki:

    Mükemmel bişey ne zamandır böyle bir şey arıyordum sayenizde çok faydalı bir konuyu öğrenmiş oldum teşekkürler.

  4. Bahtiyar dedi ki:

    Çok teşekkür ederiz..

  5. bay busy dedi ki:

    Eyvallah teşekkürler.

Bir cevap yazın

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

Show Buttons
Hide Buttons