Öncelikle bu sınıfı yazana bir teşekkür edelim ???? Daha sonra ise ilk olarak sınıfı indireceğiniz adresi vereyim;
https://code.google.com/a/apache-extras.org/p/phpmailer/
Burada tahmin edebileceğiniz gibi “downloads” sekmesinden en çok indirileni indiriyoruz.Not: Eğer indirme adresinde ssl’den dolayı hata alırsanız “yine de devam et” diyerek indirme işlemine devam edin.
İndirdiğiniz zip dosyasını açtığınızda bir sürü dosya ile karşılaşacaksınız. Onların içinden şu 2 dosyayı alın ve zip’i kapatın.
– class.phpmailer.php
– class.smtp.php
Ben herhangi bir form hazırlamadan kullanımını göstereceğim. Daha sonra demosunu incelediğiniz şeyin dosyalarını bu sayfanın en altından indirebileceğinizi unutmayın ????
Adım Adım E-Posta Gönderme İşlemi
Evet ilk olarak bir php dosyası oluşturalım (yukarıdaki 2 dosya ile aynı yerde olsun).. Ve daha sonra içini açıp kodlarımızı yazmaya başlayalım;
include "class.phpmailer.php";
Sınıf dosyasını dahil ettik.
$mail = new PHPMailer();
PHPMailer sınıfını başlattık.
$mail->IsSMTP();
SMTP kullanarak e-posta göndereceğimizi söyledik.
$mail->SMTPAuth = true; $mail->Host = 'smtp.gmail.com'; $mail->Port = 587; $mail->SMTPSecure = 'tls'; $mail->Username = '[email protected]'; $mail->Password = 'ŞİFRE';
Gmail için ayarlarımızı burada yapılandırıyoruz. Sizin yapmanız gereken tek şey, maili gönderecek hesabın bilgilerini girmek o kadar.
$mail->SetFrom($mail->Username, 'Tayfun Erbilen');
E-postayı kimin gönderdiğini tanımlıyoruz. E-posta -> Ad soyad şeklinde.
$mail->AddAddress('[email protected]', 'gönderilen kişinin adı soyadı');
Kime e-posta göndermek istiyorsak e-posta -> adsoyad şeklinde ekliyoruz.
$mail->CharSet = 'UTF-8';
Karakter serini global olan utf8 olarak ayarlıyoruz.
$mail->Subject = 'E-POSTA KONUSU';
Konuyu belirliyoruz.
$content = '<div style="background: #eee; padding: 10px; font-size: 14px">Bu bir test e-posta\'dır..</div>'; $mail->MsgHTML($content);
E-posta içeriğini belirliyoruz. İster bir değişkenden alabiliriz, istersekte file_get_contents() ile bir dosyayı okuyup gönderebiliriz, tercih sizin.
if($mail->Send()) { // e-posta başarılı ile gönderildi } else { // bir sorun var, sorunu ekrana bastıralım echo $mail->ErrorInfo; }
Gönderilip gönderilmediğini kontrol ediyoruz.
Sonuç olarak yazdığımız kodların tamamı şu şekilde;
<?php include 'class.phpmailer.php'; $mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPAuth = true; $mail->Host = 'smtp.gmail.com'; $mail->Port = 587; $mail->SMTPSecure = 'tls'; $mail->Username = '[email protected]'; $mail->Password = 'ŞİFRE'; $mail->SetFrom($mail->Username, 'Tayfun Erbilen'); $mail->AddAddress('[email protected]', 'gönderilen kişinin adı soyadı'); $mail->CharSet = 'UTF-8'; $mail->Subject = 'E-POSTA KONUSU'; $content = '<div style="background: #eee; padding: 10px; font-size: 14px">Bu bir test e-posta\'dır..</div>'; $mail->MsgHTML($content); if($mail->Send()) { // e-posta başarılı ile gönderildi } else { // bir sorun var, sorunu ekrana bastıralım echo $mail->ErrorInfo; } ?>
Sonuç olarak bir sorun yok ise güzel bir şekilde e-posta gönderme işlemini yapacak.. Hadi test edelim..
Ek dosya gönderimi
Mail içinde herhangi bir dosya göndermek isterseniz şu şekilde eklemeniz yeterli;
$mail->AddAttachment('prototurk.png');
Burada prototurk.png yerine göndereceğiniz herhangi bir dosyanın yoluda gelebilir ????
https://i2.wp.com/i.imgur.com/ewPNKQL.png?w=840
Çoklu e-posta gönderimi
Bir e-postayı birden fazla kişiye göndermek için (her yeni kişi için) AddAdress() metodunu kullanabilirsiniz. Ancak buna ek olarak AddBCC ve AddCC metodlarıda vardır..
BCC = Buraya yazılan adresler diğer gönderilen adreslerde gözükmez, bir nevi gizli gönderici diyebiliriz.
$mail->AddAddress('EPOSTA_ADRESİ', 'Ad Soyad'); $mail->AddBCC('EPOSTA_ADRESİ', 'Ad Soyad'); $mail->AddCC('EPOSTA_ADRESİ', 'Ad Soyad');
İNDİR
http://yadi.sk/d/cip-r9lr8rJSuNot: Sınıfın düzgün şekilde e-posta gönderme işlemi yapabilmesi için sunucunuz da SMTP aktif olmalıdır.
Çok teşekkürler.
Direk çalıştı.