Php ile SMTP üzerinden mail gönderme

Php ile mail() fonksiyonu ile değil SMTP üzerinden mail gönderimi yapacabiliceğimiz işlemlerden bahsedelim. mail() fonksiyonu ile gönderilen maillerin bir çoğu spam ve gereksize düşmektedir.

Ayrıca son zamanlarda bir çok hosting firması sunucularından güvenlik nedeni ve ip adreslerinin itibarı blackliste düşmesi için mail() fonksiyonunu devredışı bırakarak sadece SMTP kimlik doğrulamalı mail gönderimine izin vermektedir.

Ayrıca bir çok sunucu artık SMTP sunucusu üzerinden gelmeyen maillerde kabul etmemektedir.

Örnek kodları http://www.yardimmerkezi.net/php_smtp_mail.zip adresinden indirebilirsiniz. Bizim için önem arz eden dosya mail.php dosyasıdır. mail.php dosyası içerisindeki ayarlarımızın bir örneği aşağıda mevcuttur.

<?php

require(“class.phpmailer.php”); // PHPMailer dosyamızı çağırıyoruz
$mail = new PHPMailer(); // Sınıfımızı $mail değişkenine atadık

$mail->IsSMTP(); // Mailimizin SMTP ile gönderileceğini belirtiyoruz
$mail->From     = “user@domain.com”; //Gönderen kısmında yer alacak e-mail adresi
$mail->Sender   = “user@domain.com”;
$mail->ReplyTo  = “user@domain.com”;
$mail->FromName = “PHP Mailer”;
$mail->Host     = “smtp.domain.com”; //SMTP server adresi
$mail->SMTPAuth = true; //SMTP server’a kullanıcı adı ile bağlanılcağını belirtiyoruz
$mail->Username = “user@domain.com”; //SMTP kullanıcı adı
$mail->Password    = “password”; //SMTP şifre
$mail->WordWrap = 50;
$mail->IsHTML(true); //Mailimizin HTML formatında hazırlanacağını bildiriyoruz.
$mail->Subject  = “Deneme Maili”; // Konu

//Mailimizin gövdesi: (HTML ile)
$body = “<b>Bu mail</b> bir deneme mailidir.<br /><br />SMTP server ile gönderilmiştir.”;

// HTML okuyamayan mail okuyucularda görünecek düz metin:
$textBody = “Bu mail bir deneme mailidir. SMTP server ile gönderilmiştir.”;

$mail->Body = $body;
$mail->AltBody = $text_body;

$mail->AddAddress(“user@domain.com”); // Mail gönderilecek adresleri ekliyoruz.
$mail->AddAddress(“hedef@domain.com”);

if ($mail->Send()) echo “Mail gönderildi”;
else echo “Mail gönderimi başarısız”;

$mail->ClearAddresses();
$mail->ClearAttachments();

?>

 

Leave a Reply

*

Doğrulama * Time limit is exhausted. Please reload the CAPTCHA.

Next ArticleMailEnable çoklu pop bağlantısı