Yayınlanma Tarihi: 21 Temmuz 2025
PHPMailer, PHP ile e-posta gönderimi için en yaygın kullanılan açık kaynaklı kütüphanelerden biridir. Bu rehberde PHPMailer nedir, neden gereklidir, nasıl kullanılır adım adım öğrenecek ve hata incelemeleriyle kurulum sürecini kolaylaştıracaksınız.
PHPMailerPHP tabanlı projelerde e-posta göndermek için kullanılan, en popüler açık kaynak kütüphanelerden biridir. SMTP protokolünü kullanarak mail sunucularıyla doğrudan iletişim kurar ve HTML içerikli, dosya ekli ve güvenli e-postalar gönderebilmenizi sağlar. Özellikle profesyonel e-posta gönderimi gerektiren projelerde vazgeçilmez bir çözümdür.
PHP’nin standart mail() fonksiyonu, birçok paylaşımlı hosting hizmetinde güvenlik nedenleriyle kapalı durumdadır. Bu da doğrudan mail gönderimini zorlaştırır.
PHPMailer, SMTP kimlik doğrulaması sayesinde bu sorunu aşarak, güvenli ve doğrulanabilir e-posta gönderimini mümkün kılar. Böylece e-postalarınız spam klasörüne düşmeden alıcılara ulaşır.
SMTP ile bağlantı kurmak için bir mail hesabına ihtiyacınız var. Örnek: info@alanadiniz.com
<form action="sendmail.php" method="post"> <label>İsim:</label><br> <input type="text" name="name"><br> <label>Mail:</label><br> <input type="text" name="mail"><br> <label>Konu:</label><br> <input type="text" name="subject"><br> <label>Mesaj:</label><br> <textarea name="message" cols="30" rows="10"></textarea><br> <input type="submit" value="Gönder"> </form>
<?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 {
$mail->CharSet = 'UTF-8';
$mail->isSMTP();
$mail->Host = 'mail.alanadiniz.com';
$mail->SMTPAuth = true;
$mail->Username = 'info@alanadiniz.com';
$mail->Password = 'sifre';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
$mail->setFrom('info@alanadiniz.com', 'İletişim Formu');
$mail->addAddress($_POST['mail']);
$mail->addReplyTo($_POST['mail'], $_POST['name']);
$mail->isHTML(true);
$mail->Subject = $_POST['subject'];
$mail->Body = $_POST['message'];
$mail->send();
echo "Mesajınız başarıyla iletildi.";
} catch (Exception $e) {
echo "Mesaj iletilemedi. Hata: {$mail->ErrorInfo}";
}
?>
mail.domain.com, MaestroPanel için: smtp.domain.com
Buradan PHPMailer’i indirip, src klasörünü projenizin kök dizinine yükleyin.
Mail gönderimi sırasında hata yaşıyorsanız debug modunu aktif etmek için şu satırı ekleyin:
$mail->SMTPDebug = 2;
Bu tarz daha fazla içerikten bilgi sahibi olmak için bültenimize üye olun.