PHP Dilinde SMTP Protokolü ile Mail Gönderimi

by A.Gökhan, M.Sc. | Mart 17 23:36

Merhaba!

Daha önceki yazılarda PHP dilinden mail() fonksiyon yapılandırmasını ve akabinde e-posta gönderme işlemlerini işlemiştir. Bunu hatırlamak isteyenler, PHP Dilinde E-Posta İşlemleri ve Yapılandırması[1] konusunu inceleyebilirler. Bu yazıda, SMTP protokülünü kullanarak e-posta gönderme işlemlerini ve buna neden ihtiyaç duyacağımızı kısaca anlatacağım.

SMTP, Simple Mail Transfer Protocol kelimelerinin ilk harflerinin kullanılmasıyla türetilmiş, e-posta göndermek için kullanılan bir protokoldür. PHP dilinde bulunan mail() fonksiyonunu kullanarak gönderilen e-postalar, gönderen kişinin belirli olmasından bağımsız, sunucu tarafından gönderilebilmektedir. Dolayısıyla pek güvenli değildir. Bu sebeple de genelde junk, spam, önemsiz klasörlerine gereksiz e-posta olarak düşerler. Ancak SMTP protokolü kullanılarak gönderilen e-postalar, gerçek bir e-posta hesabını kullanarak gönderim işlemini sağlar. Kullanıcı adı, şifre ve host bilgileri girmeksizin gönderilemez. Bu sebeple gelen kutusuna normal bir e-posta olarak düşer ve daha güven arz eder. Bu konu ile ilgili detaylı bilgiyi PHP.net sitesinde bulunan dökümantasyonu inceleyerek alabilirsiniz: PHP.net/Mail[2]

PHP dilini kullanarak SMTP e-posta gönderme işlemlerini basit bir şekilde yapmak için hazır bir kütüphane kullanacağız. Gerçekten her ince ayrıntının düşünüldüğü bu PHP kütüphanesini buradan[3] indirebilirsiniz.

İndirme işleminin ardından klasörün ana dizininde bulunan class.phpmailer.php veclass.smtp.php dosyaları, e-posta göndereceğiniz dizine kopyaladıktan sonra aşağıdaki kodlar ile e-posta gönderelim.

Yukarıdaki işlemler sonucunda info@phpservisi.com e-posta adresine, diğer bir deyişle Charles Martel isim ve soyisimli kullanıcıya Deneme içerikli bir e-posta göndermiş olduk. E-posta içeriğinde ek dosya göndermek isteseydik şu şekilde bir satır eklememiz gerekecekti:

Birden fazla kullanıcıya e-posta göndermek için yine AddAddress fonksiyonunu kullanarak ekleme yapabiliriz. CC ve BCC alanlarına da birilerini eklemek istiyorsak, kodumuzu şu şekilde düzenleyebiliriz:

Görüşmek dileğiyle!

Endnotes:
  1. PHP Dilinde E-Posta İşlemleri ve Yapılandırması: http://www.phpservisi.com/php-dilinde-e-posta-islemleri/
  2. PHP.net/Mail: http://tr1.php.net/manual/en/function.mail.php
  3. buradan: https://code.google.com/a/apache-extras.org/p/phpmailer/

Source URL: https://www.phpservisi.com/php-dilinde-smtp-protokolu-ile-mail-gonderimi/