PhpMailer Nedir?
– Php programlama dili ile hazırlanmış olan Phpmailer, kullanıcıların email adresinlerine mail göndermek amacıyla kullandığı ve herhangi bir mail sunucusuna ihtiyaç duyulmadan kullanılan bir Php kütüphanesidir.
PhpMailer’ i neden kullanmalıyız?
– Php programlama dilinde standart olarak kullanılmakta olan mail fonksiyonu(mail()) kullanıcının ihtiyacını tam olarak karşılayamadığı için 2001 yılında PhpMailer kütüphanesi çıkarıldı.
– mail fonksiyonu herhangi bir kimlik doğrulaması kullanmadan mail gönderme işlemi yaptığı için gönderilen mailler spam olarak iletilmektedir. Bu durumu önlemek için sunucuda
SMTP aracılığı ile kimlik doğrulaması yapabilen PhpMailer, kullanıcı için büyük avantaj sağlamaktadır. Bu sayede web siteniz aracılığı ile sahip olduğunuz mail adresinden, bir veya birden fazla kullanıcıya mail gönderme işlevini güvenli bir şekilde kullanmış olursunuz.
– PhpMailer nesne yönelimli bir arayüz sağlarken mail() fonksiyonu nesne yönelimli değildir.
– Host adresinden almış olduğunuz alan adı uzantılı mail adresi dışında, Hotmail, Gmail, Yandex gibi e-posta adreslerinden de ileti gönderme olanağı sunmaktadır.
– Hazır web site oluşturma sitelerinde de PhpMailer kullanılmaktadır.
PhpMailer Nasıl Kullanılır ? Kurulumu ve Mail Gönderme İşlemleri
PHPMailer kullanımı için SMTP destekli bir mail sunucusuna kayıtlı mail hesabı gerekiyor. Bu mail sunucusu gmail, hotmail, yandex gibi çok bilinen mail sunucusu olabileceği gibi sitenizin kendine ait mail sunucusu da olabilir.
İlk olarak örnek olarak birkaç mail sunucusunun SMTP ayarlarına sizlere göstereceğim.
Gmail SMTP Ayarları
SMTP Sunucusu = smtp.gmail.com
SMTP Port = 587/465
SMTP Secure(Veri Gizliliği) = tls/ssl
Hotmail SMTP Ayarları
SMTP Sunucusu = smtp.live.com
SMTP Port = 587
SMTP Secure(Veri Gizliliği) = tls
Yandex SMTP Ayarları
SMTP Sunucusu = smtp.yandex.com
SMTP Port = 587/465
SMTP Secure(Veri Gizliliği) = tls/ssl
Özel SMTP Destekli Sunucu Ayarları
Hosting ve domain hizmeti aldığınız hosting şirketinin bir e-posta hizmeti bulunur. Bu mail bilgilerini kullanarak mail gönderimi yapabilirsiniz.
PhpMailer Nasıl Kurulur?
Kurulum için gerekli olan dosyalara buradan ulaşabilirsiniz. İndirdiğiniz dosyalarda;
- php : src klasörü içerisinde bulunan bu dosya mail gönderimi için çok önemlidir. Projenize dahil ediniz.
- php: src klasörü içerisinde bulunan bu dosyayı da projenize dahil etmeniz gerekmektedir.
- php : src klasörü içerisinde bulunan bu dosya projede oluşacak herhangi bir hatayı göstermek için kullanılmaktadır.
- language : Bu klasör içerisinde bulunan dosyalar Exception.php ile gösterilecek olan hataların hangi dilde gösterileceğini seçme imkanı sağlar.
Öncelikle aşağıda gösterildiği gibi dosyalarımızı projeye dahil edelim.
Şimdi de PhpMailer sınıfımızı çağıralım.
Yukarıda anlattığımız şekilde mail sunucularının SMTP ayarlarını uygulayalım. Bu bölümdeki alanları mail gönderen kişinin sunucu bilgilerini girmesi gerekmektedir.
Ardından SMTP ile mail gönderimi yapacağımızı ve hesap doğrulaması işleminin bulunduğunu belirtiyoruz.
Mail olarak gönderdiğimiz mesajda HTML etiketleri var ise bunlar düz bir yazı şeklinde gönderilir. Bunu önlemek amacı için aşağıdaki kodu uygulayarak aktifleştiriyoruz.
Mail gönderimi sırasında oluşabilecek Türkçe karakter hatası için karakter setimizi belirtiyoruz.
Şimdi language klasörü içerisinde bulunan, hataları Türkçe olarak gösterilmesini sağlayacak kodu ekleyelim ve mail gönderirken oluşabilecek hataları ve gönderim sürecini daha ayrıntılı görmeği sağlayan kodu ekleyelim.
SMTPDebug Özelliğinin alabileceği diğer değerler şunlar;
- Kullanıcı tarafındaki süreci göstermek için “1” yazılır.
- Hem kullanıcı hem server tarafındaki süreci göstermek için “2” yazılır.
- Kullanıcı, server ve bağlantı sürecini göstermek için “3” yazılır.
Mail göndermek için gerekli olan ön bilgileri tanımladık. Şimdi mail gönderimi ve içerik kısmına bakalım.
Gönderilmiş olan maili, karşı taraf yanıtlamak isterse gönderdiğimiz maile değil de başka bir maile göndermesini istersek aşağıdaki fonksiyonu kullanmalıyız.
Ardından maili alacak kişinin mail adresini ve isim soyismini bu fonksiyon ile belirtiyoruz. Birden fazla kez kullanılabilir.
Bunun dışında gönderilen mailin kim tarafından kime gittiğini ve olarak nasıl bir mail gittiğini aşağıdaki fonksiyon ile belirtebiliriz. Yani maili gönderen, maili alan ve mailden haberi olan kişiler birbirlerinden haberdar olacaklar ancak gönderici, alıcı, bilgi alan kişiler olarak farklı nitelemeler ile mailde belirtilecekler.
Gönderilecek mailden haberdar olacak ancak mail içerisinde adresi gözükmeyecek mail adreslerini tanımlamak için aşağıdaki fonksiyonu kullanılabiliriz. Yine bu özellik de birden fazla mail hesabı belirtmek için kullanılabilir.
Bu kısımda gönderilecek olan mailin içeriğini ve konusunu belirtiyoruz.
Göndermek istediğimiz mail içerisinde ek olarak dosya gönderimi yapmak isteyebiliriz. Bunun için aşağıdaki fonksiyonu kullanmalıyız.
Mailimiz gönderilmeye hazır. Aşağıdaki fonksiyon ile maili gönderelim.
Mail gönderimi sırasında herhangi bir hata olursa, bu hatayı yazdırmak için aşağıdaki özellik kullanılır.
Kodların birleştirilmiş halini burada bulabilirsiniz.
-Kaynakça-
-https://muhammedyaman.com/
-https://www.natro.com/
-https://www.sitepoint.com/
-Udemy – Olcay Kalyoncuoğlu – Php Dersleri
Başarılı bir yazı olmuş,teşekkür ederiz.
Çok yardımcı oldu, teşekkürler.
Çok başarılı buldum, eksiklerim vardi tamamladım.
Çok güzel bir yazı.Başarılı buldum devamını bekliyorum
Gerçekten çok başarılı buldum.
PhpMailer ile ilgili bütün sorulara cevap niteliğinde bir makale olmuş.
Başarılarının devamını diliyorum.
Açıklayıcı bir anlatım, teşekkür ederiz.