Php ile STMP Mail Gönderimi

ANASAYFA > BILGI BANKASI > Php ile STMP Mail Gönderimi
# / 2013-09-09
Php ile STMP Mail Gönderimi

Bir çok hosting firmasında olduğu gibi bizim firmamızda da phpmail() fonksiyonu kapalı durumdadır. Bu fonksiyonun kapalı tutulmasının nedeni, phpmail() fonksiyonunda hiçbir doğrulama olmadan direk olarak mail gönderilebilmesidir. Doğrulama yapılmadan mail gönderimi yapıldığı taktirde spam mail gönderimini engellemek mümkün değildir.Spam maili ve ip adreslerini kara listelere girmesini engellemek için sunucularda mail() ve phpmail() fonksiyonunun kapalı tutulması ve STMP üzerinden mail gönderilmesi gerekir.

Şimdi php üzerinden Smtp bağlantısı yaparak nasıl mail gönderilir bu konuya değinelim. Bunun için PHPMailer kütüphanesini kullanacağız.

PHPMailer kütüphanesini buradan indirebilirsiniz.

İndirdiğimiz kütüphanin içerisindeki class.phpmailer.php, class.smtp.php ve class.pop3.php dosyalarını mail formumuz ile aynı dizine atıyoruz.

Mail formumuzun kodları:

    require(“class.phpmailer.php”);
   $mail = new PHPMailer();
   $mail->IsSMTP();
   $mail->SMTPDebug = 1; // hata ayiklama: 1 = hata ve mesaj, 2 = sadece mesaj
   $mail->SMTPAuth = true;
   $mail->SMTPSecure = ‘ssl’; // Güvenli baglanti için ssl normal baglanti için tls olmalıdır.
   $mail->Host = “mail.siteismi.com”; // Mail sunucu ismi girilmelidir.
   $mail->Port = 465; // Güvenli baglantı için 465 Normal baglantı için 587
   $mail->IsHTML(true);
   $mail->SetLanguage(“tr”, “phpmailer/language”);
   $mail->CharSet =“utf-8”;
   $mail->Username = “isim@siteismi.com”; // Mail adresimizin kullanicı adı
   $mail->Password = “PASSWORD”; // Mail adresimizin şifresi
   $mail->SetFrom(“isim@siteismi.com”, “Isim”); // Mail gönderildiğinde görülecek olan isim
   $mail->AddAddress(“ahmetmakal@msn.com”); // Gönderilecek adres - Alıcı
   $mail->Subject = “Mesaj Basligi”; // Konu başlığı
   $mail->Body = “Mesaj icerigi”; // Mailin içeriği
   if(!$mail->Send()){
   echo “Mailer Error: “.$mail->ErrorInfo;
   } else {
   echo “Mesaj gonderildi”;
   }

Doldurulması gereken alanları yukarıdaki kodların sonuna bigilendirme olarak yazdım. Yukarıdaki ayarlar ile sunucunuzun SMTP servisini kullanarak sorunsuz mail gönderimi yapabilirsiniz.

Şimdi ücretsiz mail hizmeti veren Gmail ve Yandex için gereken ayarları görelim.

Yandex Smtp Ayarları:

    $mail->SMTPSecure = ‘tls’;
   $mail->Host = ‘smtp.yandex.com’;
   $mail->Port = 587;

Gmail Smtp Ayarları:

    $mail->SMTPSecure = ‘ssl’;
   $mail->Host = ‘smtp.gmail.com’;
   $mail->Port = 465;

Hazır Scriptler İçin Smtp Mail Ayarları

Gelelim hazır yazılımlar için Smtp ayarlarının nasıl yapılması gerektiğine. Hazır yazılımların bazılarında PHPMailer kütüphanesini bulunur ve arkada çalışır.SMTP ayarlarını da kullandığınız yazılımın arayüzünden yapabilirsiniz. Örnek olarak bazı yazılımlardaki ayarları aşağıda iletiyorum.

WordPress için WP Mail SMTP eklentisini kurmamız gerekiyor.

    Ayarlar > Email bölümünden aşağıdaki ayarları uygulayınız.
   From Email: isim@siteismi.com
   From Name: İsim
   Mailer: Send all WordPress emails via SMTP.
   SMTP Host: localhost veya sunucu hostname’si (hostname’ i tarafımızdan öğrenebilirsiniz)
   SMTP Port: 465
   Encryption: Use SSL encryption.
   Authentication: Yes: Use SMTP authentication.
   Username: isim@siteismi.com
   Password: mailsifresi

vBulletin İçin Smtp Ayarları:

    vBulletin Seçenekler > E-Mail ayarları
   Buradan Emailleri SMTP-Serveri aracılığı ile gönder seçiyoruz.
   SMTP-Serveri: mail.siteadresiniz.com
   SMTP Portu: 465
   SMTP Kullanıcı Adı: isim@siteismi.com
   SMTP Şifresi: Email adresinizin şifresi
   SMTP-Serverine garantili bağlanma: SSL

SMF İçin Smtp Ayarları:

    Ayarlara ulaşabilmek için Yönetim Masası > Bakım > E=Posta kısmına giriyoruz.
   E-Posta türü: SMTP
   SMTP sunucusu: ssl://localhost yada ssl://mail.siteadresiniz.com
   SMTP bağlantı noktası: 465
   SMTP kullanıcı adı: isim@siteismi.com
   SMTP şifresi: Email adresinizin şifresi

OpenCart İçin Smtp Ayarları:

    Ayarlara ulaşabilmek için System > Settings > Mail kısmına giriyoruz.
   Mail Protocol: SMTP
   SMTP Host: ssl://localhost yada ssl://mail.siteadresiniz.com
   SMTP Username: isim@siteismi.com
   SMTP Password: Email adresinizin şifresi
   SMTP Port: 465

Her yazılımın kendine özgü SMTP ayarları vardır. Yukarıdaki örnekleri baz alarak kullandığınız yazılımın SMTP mail ayarlarını rahatlıkla yapabilirsiniz.

Avatar
Abdullah Altunbaş Teknik Şef
Netinternet Bilişim Teknolojileri A.Ş.'de teknik konularda liderlik yapıyorum. 15 yıldır bu alanda çalışıyorum ve özellikle sistem yönetimi, ağ teknolojileri ve yazılım geliştirme konularına odaklanıyorum.
Yorumlar

Henüz yorum yok.

Yorum Yap