Serpito

PHP: PHPMailer SMTP ile E-posta Göndermek

PHP ile SMTP üzerinden e-posta göndermenin birden fazla çözümü var aslında.  Bu yazıda, php  mailer sistemlerin içinde en basit ve kullanılması en rahat olan PHPMailer kullanıyoruz.

 

Mail gönderim işlemi için neden PHPMailer kullandığımızın kısa bir özetini yapalım ;

PHPMailer Özellikleri

Örnek bir e-mail gönderimi


<?php
# PHP Mailer Classı import et
require_once("class.phpmailer.php");

# PHPMailer class tanımla
$mail = new PHPMailer();

// Classa SMTP başlat
$mail->IsSMTP();

// Test / Gerçek işlem
$mail->SMTPDebug = 2;

// SMTP Authentication aktif et
$mail->SMTPAuth = true;

//SMTP Server
$mail->Host = "host.smtpserver.com";

// Port SMTP Sunucu 25 / 587
$mail->Port = 25;

// SMTP kullanıcı adı
$mail->Username = "user@smtpserver.com";

// SMTP kullanıcı şifre
$mail->Password = "user_pass";

// gönderen hesap
$mail->SetFrom("from@yourdomain.com", "Gönderen isim");

// Mail konusu
$mail->Subject = "PHPMailer SMTP Testing";

// Mail içeriği
$body = "mailin içeriği, html kodları da olabilir;
$mail->MsgHTML($body);

// hedef adresi ekle
$to = "info@yourdomain.com";
$mail->AddAddress($to, "SMTP Test");
// Maili gönder
if(!$mail->Send())
{
echo "Mailer Hata: " . $mail->ErrorInfo;
}
else
{
echo "Mesaj başarıyla gönderildi!";
}
?>

 

Gmail ve Hotmail için PHPMailer SMTP özellikleri

Gmail için Ayarlar

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->CharSet = 'UTF-8';
$mail->Host = "smtp.gmail.com";
$mail->SMTPDebug = 0;
$mail->SMTPAuth = true;
$mail->Port = 465;
$mail->Username = "username@gmail.com";
$mail->Password = "password";

Hotmail için ayarlar

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->CharSet = 'UTF-8';
$mail->Host = "smtp.live.com";
$mail->SMTPDebug = 0;
$mail->SMTPAuth = true;
$mail->Port = 465;
$mail->Username = "username@hotmail.com";
$mail->Password = "password";