PHPMailer Kullanımı & SMTP Mail Gönderme Ayarları

Kaynak dosyaları https://github.com/PHPMailer/PHPMailer buradan indirebilirsiniz ardından örneği inceleyerek projenize uyarlayabilirsiniz….
Örnek Kullanım:
Gmail Hotmail Yandex yada kendi hosting ve domaininizi kullanarak üyelik doğrulama işlemleri için mail gönderimi yapabilirsiniz. Yazısından faydalandığım Muhammed Yaman‘a teşekkürler emeğine sağlık

require 'src/Exception.php'; //Mail gönderirken bir hata ortaya çıkarsa hata mesajlarını görebilmek için gerekli. Şart değil
require 'src/PHPMailer.php'; //Mail göndermek için gerekli.
require 'src/SMTP.php'; //SMTP ile mail göndermek için gerekli.
 
use PHPMailer\PHPMailer\PHPMailer; //Kullanılacak sınıfın (PHPMailer) yolu belirtiliyor ve projeye dahil ediliyor
//use PHPMailer\PHPMailer\Exception;
 
$mail = new PHPMailer(); //PHPMailer sınıfı kuruluyor
 
$mail->Host = 'mail.ornekmailsunucusu.com'; //SMPT mail sunucusu. Ornek: smtp.yandex.com (YANDEX MAIL), smtp.gmail.com (GOOGLE/GMAIL), smtp.live.com (HOTMAIL), mail.ornekmailsunucusu.com (SITENIZE OZEL MAIL SUNUCU)
$mail->Username = 'gonderenmailadresi@hotmail.com'; //Tanımlanan web sunucusuna ait mail hesabı kullanıcı adı. Ornek: gonderenmailadresi@yandex.com, mail@domainadresi.com
$mail->Password = 'gonderen_mail_hesabi_sifresi'; //Mail hesabı şifre
$mail->Port = 587; //Mail sunucu mail gönderme portu. Ornek: 587, 465
$mail->SMTPSecure = 'tls'; //Veri gizliliği yöntemi. Örnek: tls, ssl
 
$mail->isSMTP(); //SMPT kullanarak mail gönderilecek
$mail->SMTPAuth = true; //SMPT kimlik doğrulanmasını etkinleştir
 
$mail->isHTML(true); //Mail içeriğinde HTML etiketlerinin algılanmasına izin vermek. False olarak seçilirse ve mail içeriğinde HTML içerikleri varsa etiketler algılanmaksızın normal düz yazı olarak içerikte belirecek
 
$mail->CharSet = "UTF-8"; //Mail başlık, konu ve içerikte türkçe karakter desteği mevcut
$mail->setLanguage('tr', 'language/'); //hata mesajlarını tr dili ile yazdır. 'language' isimli klasörden dil ayarları çekilir. Varsayılan olarak ingilizce seçilidir
$mail->SMTPDebug  = 2; //işlem sürecini göster. Hataları belirlemenizi kolaylaştırır
 
$mail->setFrom('gonderenmailadresi@hotmail.com', 'Muhammed Yaman'); //Tanımlanan web sunucusuna ait bir gönderen mail adresi ve isim. Username kısmında belirtilen mail adresi ile aynı olmalı. Ornek: gonderenmailadresi@yandex.com, mail@domainadresi.com
//$mail->addReplyTo('gonderenmailadresi2@hotmail.com', 'Muhammed Yaman'); //Mailin gönderildiği kişi maili yanıtlamak isterse buradaki mail adresine mail gönderilmesi gerektiği belirtilir
$mail->addAddress('alanmailadresi@hotmail.com', 'Yaman Muhammed'); //Gönderilecek mail adresi ve isim. İsim yazılmazsa gönderilen kişi kısmında gönderilen kişinin mail adresi yazar. Ornek: alanmailadresi@hotmail.com
//$mail->addCC('haberdarmailadresi@hotmail.com', 'Mert'); //Gönderilecek mail bu adrese de gidecek. Aynı zamanda bu adrese gittiği de mail mesajında belirtilecek.
//$mail->addBCC('haberdarmailadresi2@gmail.com', 'Ömer'); //Gönderilecek mail bu adrese de gidecek. Ancak bu adrese gittiği mail mesajında belirmeyecek.
 
$mail->Subject = 'Örnek mail konusu'; //Mail konusu
$mail->Body = //Mail mesaj içeriği
'
	<html>
		<head>
		</head>
		<body>
			<h1>Test edilen mail mesaj içerikteki başlik yeni</h1>
			<p>Bu bir test mail icerigi.</p>
		</body>
	</html>
';
$mail->addAttachment('files/Dusk_on_the_Yangtze_River.jpg', 'resim_ismi.jpg'); //Mail içerisinde ek dosya gönderimi sağlar. Bu kodların çalıştığı klasör içerisindeki files dosyasındaki Dusk_on_the_Yangtze_River.jpg isimli dosyayı seç. Mail içerisinde bu dosyanın ismi 'resim_ismi.jpg' şeklinde gözüksün. İsim girilmezse dosyanın asıl ismi gözükecek
$mail->addAttachment('files/dosya.rar', 'dosya_ismi.rar');
 
$mail_gonder = $mail->send(); //Maili gönder ve sonucu değişkene aktar
if($mail_gonder){ //Mail gönderildi mi
	echo 'Mail başarıyla gönderildi';
}else{
	echo 'Mail gönderilemedi. Mail hata mesajı: '.$mail->ErrorInfo; //Mail gönderilemezse sebebini belirten hata mesajını ekrana yazdır
}

$mail->Body içinde değişken kullanabilmek için çift tırnak kullanmalısınız

örnek kullanım : $mail->Body = “merhaba $username hoşgeldiniz”

Syntax Error: Unexpected T_USE when i’m using tarzında PHPMailer ile ilgili hata alırsanız use PHPMailer\PHPMailer\PHPMailer; tanımlamasını projenizin en üstüne yerleştirdiğinizden emin olun, if, isset gibi yapıların içindeyken olası hatalar alabilirsiniz iyi çalışmalar

Bu İçeriğe Puan Verebilirsiniz
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.