Php ile Smtp Mail Nasıl Gönderilir ?

Çoğu hosting firmasında phpmail fonksiyonu güvenlik gereği kapalı konumda gelmektedir. Bu fonksiyonu açık tuttuğunuzda mail doğrulaması yapmadan kontrolsüz bir şekilde SPAM mail çıkışı yapmasına müsaade etmiş sayılırsınız. Bu durum sonucunda ise mail gönderiminde kullanılan IP adresleri istenmeyen posta listelerine (blacklist) girmiş olur ve olumsuz olarak işaretlenmiş olur. Bu sebepten ötürü çoğu hosting hizmeti sağlayan firmada phpmail fonksiyonu disable yani kapalı konumda gelmektedir.

Bu dokümanda PHP aracılığı ile SMTP doğrulaması yaptırarak nasıl mail gönderileceğini göreceğiz.

Bu işlem için öncelikle PHPMailer Kütüphanesini indirmeniz gerekiyor. Bu alandan indirebilirsiniz.

Yapı aşağıdaki gibidir ;

<?php
require('class.phpmailer.php');
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "myemail@gmail.com";
$mail->Password = "mypassword";
$mail->SetFrom("the same email address");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("the same email address");
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message has been sent";
}
?>

Genel olarak kullanmanız gereken kalıp kod yukarıdaki gibi olacaktır.

Bu kod yapısını kullanarak popüler mail servislerini tanımlayabilir ve bağladığınız bu servisteki mail adresinden php aracılığı ile mail çıkışı yaptırabilirsiniz.

Bazı popüler olan servislerin SMTP bilgilerini aşağıda paylaşıyorum.

Yandex Mail Servisi

$mail->SMTPSecure = 'tls';
$mail->Host = 'smtp.yandex.com';
$mail->Port = 587;

Gmail Mail Servisi – G-Suite

$mail->SMTPSecure = 'ssl';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465;

İlgili alanları bu şekilde düzenlemeniz yeterli olacaktır.

Bunların dışında kullandığınız hazır scriptler var ise örneğin ; WordPress, vBulletin, SMF, Joomla, Opencart vs.. bu sistemlerde yapacağınız işlemler daha basitleştirilmiş olacaktır. Yazılımlara ait yönetim panelinde PHPMailer Class kütüphaneleri gömülü olarak gelecektir. Tek yapmanız gereken mail bilgilerinizi doğru bir şekilde tanımlamak.

Yukarıda Gmail ve Yandex bilgilerini paylaştığım gibi bu bilgileri ilgili alanlanlara girerek PHPmail fonksiyonu haricinde PHP SMTP ile gönderim yaptırabilir duruma geleceksiniz. Ortalama ayarlar SMTP Güvenlik Tipi, Host Adı, Port Bilgisi şeklindedir.

Linux Hosting ,Windows Hosting, Sanal Sunucu, Kiralık Sunucu hizmetlerimizden direkt olarak yararlanıyorsanız herhangi bir problem anında teknik destek bildiriminde bulunabilirsiniz.