Kütüphanenin son sürümünü buradaki linkten indirebilirsiniz. Daima son sürümü kullanmanızı tavsiye ederiz. Bu şekilde gönderimler daha sorunsuz olacak ve php’nin yeni sürümlerinde hata almayacaksınız. Gerekli dosyaları ekleyerek email gönderim sayfamızı oluşturmaya başlayalım.
<?php
header("Content-Type: text/html; charset=utf-8");
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require 'phpmailer/src/Exception.php';
require 'phpmailer/src/PHPMailer.php';
require 'phpmailer/src/SMTP.php';
Gönderim için gereken bilgileri tanımlıyoruz.
// Kütüphaneyi başlatıyoruz
$mail = new PHPMailer(true);
$gonderen = "Siteni Kur";
$konu = "E-mail konusu";
$mesaj = "E-mail içeriği buraya gelecek";
$gonderilecek_email = "";
$gonderilecek_kisi = "";
$mailsunucu = "mail.sitenizinadresi.com"; // smtp sunucu adresini yazıyoruz
$mailport = 587; // TLS için 587 yada 25, SSL 465
$mailkullanici = ""; // site uzantılı email adresi
$mailsifre = ""; // email adresinin şifresi
$smtp_protokolu = PHPMailer::ENCRYPTION_STARTTLS; // TLS yada SSL
Gönderim işini yapacak kodlarımızı yazalım.
try {
$mail->setLanguage('tr', 'language/');
$mail->SMTPDebug = SMTP::DEBUG_SERVER;
$mail->isSMTP();
$mail->Host = $mailsunucu;
$mail->SMTPAuth = true;
$mail->Username = $mailkullanici;
$mail->Password = $mailsifre;
$mail->SMTPSecure = $smtp_protokolu;
$mail->Port = $mailport;
$mail->CharSet = 'UTF-8';
$mail->setFrom($mailkullanici, $gonderen);
$mail->addAddress($gonderilecek_email, $gonderilecek_kisi);
$mail->addReplyTo($mailkullanici, $gonderen);
$mail->isHTML(true);
$mail->Subject = $konu;
$mail->Body = $mesaj;
$mail->AltBody = $konu;
$mail->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) );
$mail->send();
echo "Email gönderildi.";
} catch (Exception $e) { echo "E-mail gönderilemedi: {$mail->ErrorInfo}";
}
Her şey doğru yapıldıysa kolayca email gönderebileceksiniz. Ancak bazı sunucular email gönderimlerde SSL protokolü ve 465 portunu yada TLS protokolü ve 25 portunu kullanıyor olabilir. Gerekli bilgileri öğrenmek için hosting firmanızdan destek alabilirsiniz. Yukarıdaki kodların birleştirilmiş halini ve çalışan bir örneğini buradaki linke tıklayarak indirebilirsiniz. Her türlü sorunuzu yorum bölümüne yazabilirsiniz.