PHP, e-posta göndermek için yerleşik mail() fonksiyonunu sunar. Bu fonksiyon basit e-posta işlemleri için yeterlidir. Ancak daha profesyonel ve güvenilir çözümler için genellikle PHPMailer gibi kütüphaneler tercih edilir.
<?php
$kime = "ornek@site.com";
$konu = "Test Maili";
$mesaj = "Merhaba, bu bir test e-postasıdır.";
$baslik = "From: admin@benimsitem.com";
if(mail($kime, $konu, $mesaj, $baslik)) {
echo "Mail başarıyla gönderildi.";
} else {
echo "Mail gönderilemedi.";
}
?>
Not: Bu yöntem çoğu sunucuda spam filtresine takılabilir veya hiç çalışmayabilir. SMTP yapılandırması yapılmamışsa mail() fonksiyonu başarısız olabilir.
Daha güvenilir ve profesyonel bir çözüm isteyenler için PHPMailer önerilir. SMTP üzerinden gönderim yapılmasını sağlar.
composer require phpmailer/phpmailer
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try {
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'seninmail@gmail.com';
$mail->Password = 'uygulama_sifresi';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('seninmail@gmail.com', 'Senin İsmin');
$mail->addAddress('alicimail@site.com', 'Alıcı İsmi');
$mail->isHTML(true);
$mail->Subject = 'Test Maili';
$mail->Body = '<strong>Merhaba!</strong> Bu bir test mailidir.';
$mail->AltBody = 'Merhaba! Bu bir test mailidir.';
$mail->send();
echo 'Mesaj gönderildi.';
} catch (Exception $e) {
echo \"Mesaj gönderilemedi. Hata: {$mail->ErrorInfo}\";
}
?>
Not: Gmail kullanıyorsan Gmail ayarlarından uygulama şifresi üretmen gerekir. Normal şifre çalışmaz.
$mail->isHTML(true);
$mail->Body = '<h1>Merhaba</h1><p>Bu mail HTML içeriklidir.</p>';
$mail->addAttachment('/yol/resim.jpg', 'resmim.jpg');
Toplam 33 Makale
Lütfen yorumlarınızda saygılı, yapıcı ve anlaşılır bir dil kullanın.
Küfür, hakaret ya da spam içerikler onaylanmaz.