PHPMailer Nedir ve Nasıl Kullanılır ?

Bu eğitselde PHPMailer kullanımı ile ilgili yönergeler yer almaktadır.

PHPMailer nedir?

PHP programlama dili ile hazırlanmış yazılımlarda kullanılabilen, bir email adresine mail göndermek için sizin belirlediğiniz bağlantı bilgileriyle mail sunucusu ile haberleşerek uygun ortamı hazırlayan bir PHP sınıfıdır.

PHPMailer neden gerekli?

PHP programlama dilinin standart mail gönderme fonksiyonu olan mail() fonksiyonu günümüzde tüm paylaşımlı hosting servislerinde -spam mail gönderimini önlemek amacıyla-  engelli durumdadır. Ancak, bu sunucu üzerinden mail gönderilemeyeceği anlamına gelmemektedir. Alternatif olarak, sunucu ile SMTP protokolü aracılığıyla haberleşen ve sunucu üzerinde kimlik doğrulama yapan bir mailer script kullanılabilir. PHPMailer, bu ihtiyacı en iyi şekilde karşılamaktadır.

PHPMailer nasıl kullanılır?

Alt başlıkları takip ederek bir iletişim formu ve mail göndermek için bir PHP sayfası oluşturabilirsiniz.

Email hesabı oluşturun

PHPMailer’in mail sunucusunda kimlik doğrulama yapabilmesi için gerçek bir email hesabına ihtiyacı vardır. Öncelikle bir email hesabı oluşturup, şifresini not ediniz.

İletişim formu sayfası oluşturun

PHP uzantılı bir dosya oluşturup, aşağıdaki kodları bu dosyaya dahil ediniz.

<?php header("Content-type: text/html; charset=utf-8"); ?>
<form action="sendmail.php" method="post">
<label for="name">İsim:</label><br>
<input type="text" name="name" id="name"><br>
<label for="mail">Mail</label><br>
<input type="text" name="mail" id="mail"><br>
<label for="subject">Konu</label><br>
<input type="text" name="subject" id="subject"><br>
<label for="message">Mesajınız</label><br>
<textarea name="message" cols="30" rows="10" id="message"></textarea><br><br>
<input type="submit" value="Gönder">
</form>

İşlem sayfası oluşturun

sendmail.php ismiyle bir PHP uzantılı dosya oluşturup, aşağıdaki kodları bu dosyaya dahil ediniz.

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'src/Exception.php';
require 'src/PHPMailer.php';
require 'src/SMTP.php';


$mail = new PHPMailer(true);
try {
 //Server settings
 $mail->CharSet = 'UTF-8';
 $mail->SMTPDebug = 0; // debug on - off
 $mail->isSMTP(); 
 $mail->Host = 'mail.alanadiniz.com'; // SMTP sunucusu örnek : mail.alanadi.com
 $mail->SMTPAuth = true; // SMTP Doğrulama
 $mail->Username = 'isim@alanadiniz.com'; // Mail kullanıcı adı
 $mail->Password = 'Şifreiniz'; // Mail şifresi
 $mail->SMTPSecure = 'tls'; // Şifreleme
 $mail->Port = 587; // SMTP Port
$mail->SMTPOptions = array(
 'ssl' => array(
 'verify_peer' => false,
 'verify_peer_name' => false,
 'allow_self_signed' => true
 )
);

 //Alıcılar
 $mail->setfrom('isim@alanadiniz.com', 'İletişim Formu');
 $mail->addAddress($_POST['mail']);
 $mail->addReplyTo($_POST['mail'], $_POST['name']);
 //İçerik
 $mail->isHTML(true);
 $mail->Subject = 'İletişim Formu.';
 $mail->Body = $_POST['message'];

 $mail->send();
 echo "Mesajınız İletildi --> ".$_POST['mail']."<br>";
} catch (Exception $e) {
 echo 'Mesajınız İletilemedi. Hata: ', $mail->ErrorInfo;
}

?>

İşlem sayfasını düzenleyin

6. satırdaki değişkene mail sunucusunun adresini yazıyoruz. Eğer cPanel veya Plesk Panel kullanıyorsanız; mail.domain.com, Maestropanel kullanıyorsanız smtp.domain.com şeklinde düzenlemelisiniz.

8.satırdaki değişkene oluşturduğunuz email hesabını yazınız.
9.satırdaki değişkene oluşturduğunuz email hesabının şifresini yazınız.
10.satırdaki değişkene bağlanmak istediğiniz şifrleme yöntemini yazınız, tls veya ssl kullanabilirsiniz.
11.satırdaki değişkene bağlandığınız şifrleme yöntemine göre port numarası giriniz. TLS kullanıyorsanız 587, SSL kullanıyorsanız 465 yazınız.
12.satırdaki değişkene 8.satırda yazdığınız email hesabını yazınız.
13.satırdaki değişkene gelen iletideki görüntülenecek ismi yazınız.
15.satırdaki değişkene iletinin gönderileceği email adresini yazınız.

PHPMailer dosyalarını yükleyin

PHPMailer’i Github üzerinden indirip, bu dosyalarınızın bulunduğu dizine yükleyiniz.
https://github.com/PHPMailer/PHPMailer/archive/master.zip adresinden bu dosyaları indirebilirsiniz. Src klasörünü sitenize yüklemeniz yeterli olacaktır.

Hata inceleme

Eğer mail gönderme esnasında problem yaşıyorsanız aşağıdaki kod ile hata iletisini aktif edebilirsiniz. Bu kodu 14. satırdan önce yazmalısınız.

$phpmailer->SMTPDebug = 2;

YANITLA

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz