Merhabalar bu yazımda PHPMailer kullanarak harici bir mail sunucusu ile nasıl mail gönderimi yapacağımızı göstereceğim. Bir framework kullanmadan bu işlemi yapmak bizi belki biraz uğraştıra bilir ama bu işlemi PHPMailer kullanarak yapmak gayet kolay olacak.
Kullandığınız sunucu mail hizmetinde yetersiz kalıyor yada mail işlemleri için kullanamıyorsanız başka bir sunucu ile mail işlemlerini yapabilirsiniz.Bunun için Mail sunucusunun host adresini , kullanıcı adı ve şifre bilgilerine sahip olmanız gerekiyor. Bu bilgilere sahipsek Kodlamaya başlayalım.
<?php require_once('class.phpmailer.php'); $mail= new PHPMailer(); $mail->CharSet ='utf-8'; $mail->IsSMTP(); $mail->SMTPDebug = 2; $mail->SMTPAuth = true; $mail->Host = 'mailsunucuadresi'; $mail->Port = 25; $mail->Username = 'mailkullanıcıadı'; $mail->Password = 'mailkullanıcışifresi'; $body='html mail içeriği'; $mail->SetFrom('gönderenadres','gönderenadı'); $mail->AddAddress('alıcıadres','alıcıadı'); $mail->Subject = 'Mail konusu'; $mail->AltBody = 'text mesaj'; $mail->MsgHTML($body); if(!$mail->Send()) { echo 'Mail Gönderilemedi'; } else { echo 'Mail Gönderildi'; } ?>
Bu kodlarda daha önce yazdığım PHPMailer yazısından birkaç farkı var onları belirteyim .
$mail->IsSMTP(); $mail->SMTPDebug = 2; $mail->SMTPAuth = true; $mail->Host = 'mailsunucuadresi'; $mail->Port = 25; $mail->Username = 'mailkullanıcıadı'; $mail->Password = 'mailkullanıcışifresi';
$mail->IsSMTP();
fonksiyonunu çağırarak SMTP kullanarak mail göndereceğimizi belirtiyoruz.
$mail->SMTPAuth = true;
ile Mail sunucusunda oturum açacağımızı belirtiyoruz.
$mail->Host = 'mailsunucuadresi'; $mail->Port = 25; $mail->Username = 'mailkullanıcıadı'; $mail->Password = 'mailkullanıcışifresi';
Bu fonksiyonlar ile de bağlantı kurulacak olan mail sunucusunu sunucunun kullandığı portu ve oturum bilgilerini belirliyoruz.
Gmail Üzerinden Mail GÖnderimi yapmak için ise kodalamamız şu şekilde olmalı:
<?php require_once('class.phpmailer.php'); $mail=new PHPMailer(); $mail->CharSet ='utf-8'; $mail->IsSMTP(); $mail->SMTPDebug = 2; $mail->SMTPSecure = 'ssl'; $mail->SMTPAuth = true; $mail->Host = 'smtp.gmail.com'; $mail->Port = 465; $mail->Username = 'gmail kullanıcı adı'; $mail->Password = 'gmail kullanıcı şifresi'; $body='html mail içeriği'; $mail->SetFrom('gönderenadres','gönderenadı'); $mail->AddAddress('alıcıadres','alıcıadı') $mail->Subject = 'Mail konusu'; $mail->AltBody = 'text mesaj'; $mail->MsgHTML($body); if(!$mail->Send()) { echo 'Mail Gönderilemedi'; } else { echo 'Mail Gönderildi'; } ?>
$mail->AddAddress(‘alıcıadres’,’alıcıadı’)
bu satırın sonunanda ;(noktalı virgül) yok
script çalışmıyorsa satır sonuna ; eklemeyi unutmayın.
Uyardığın için teşekkürler yazıya aktarırken gözümden kaçmış. Düzelttim.
$mail = new PHPMailer(); olacak ok işareti olmayacak yani kardeşim