PHP ile SMTP Üzerinden E-Mail Göndermek

 

Yazıya başlamakdan önce SMTP Nedir? isimli makaleyi okumak isteyebilirsiniz.

 

PHP yazılım diliyle SMTP üzerinden e-mail gönderme işlemi yapabilmek için büyük kolaylık sağlayan açık kaynak kodlu şu kütüphaneyi (PHPMailer) projenize dahil ederek işlemlere başlayabilirsiniz.

 

SMTP ile kendi hostunuzda  barındırdığınız e-mail hesaplarınız üzerinden e-mail gönderebileceğiniz gibi; gmail gibi global e-mail sunucuları üzerinde ki hesaplarınızdan da e-mail'ler gönderebilirsiniz. Hatta bu yöntemi kullanarak giden e-mail'lerinizin spama düşme riskini ortadan kaldırmış olursunuz. Bu yüzden bu yöntemi tavsiye ederiz.

 

PHPMailer kütüphanesini kullanarak basit ve düzenli şekilde e-mail gönderimleri yapabilmek için öncelikle "class.phpmailer.php" ve "class.smtp.php" dosyalarını sayfamıza eklememiz gerekmektedir.

 

Sonrasında aşağıdaki kod blogunu ilgili yerlere kendinize ait verileri doğru şekilde girerek işlemimize devam edebiliriz.

 

 
<?php
include 'class.phpmailer.php';
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = 'smtp.hoskia.com';
$mail->Port = 587;
$mail->Username = 'kullanici@hoskia.com';
$mail->Password = 'ŞİFRENİZ';
$mail->SetFrom($mail->Username, 'Benim Adım');
$mail->AddAddress('alici@adresi.com', 'Alıcının Adı');
$mail->CharSet = 'UTF-8';
$mail->Subject = 'Mail Başlığı';
$mail->MsgHTML('Mailin içeriği!');
if($mail->Send()) {
echo 'Mail gönderildi!';
} else {
echo 'Mail gönderilirken bir hata oluştu: ' . $mail->ErrorInfo;
}
?>
  Eğer yukarı bahsettiğimiz gibi kendi e-mail hesabınız üzerinden e-mail göndermek yerine Gmail hesabınız üzerinden gönderim yapmak isterseniz yukarıdaki kodları şuradaki örnek doğrultusunda düzenlemeniz gerekmektedir;  
 
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';

Oldukça basit ve düzenli bir yapıya sahip olan PHPMailer kütüphanesi ile e-mail göndermek bu kadar basit. Şimdi biraz e-maillerimize ek özellikler eklemeye başlayabiliriz.

 

    Birden Fazla Alıcı Eklemek İçin E-mail gönderirken Bcc yada Cc 'e kişiler eklemek isterseniz şu kodları kullanabilirsiniz;
 
$mail->AddAddress('kullanici1@hoskia.com', 'İsim Soyisim');
$mail->AddCC('kullanici2@hoskia.com', 'İsim Soyisim');
$mail->AddBCC('kullanici3@hoskia.com', 'İsim Soyisim');   Dosya Göndermek İçin
E-mail gönderirken attachment (eklenti) kısmına dosyalar dahil edebilmek için aşağıdaki kodu ekleyebilirsiniz;
 
$mail->AddAttachment('dosyalar/gonderilecek_dosya.zip');
  Yanıt Adresi Belirtme
Gönderdiğiniz e-maillerin cevaplarını başka bir e-mail adresine gelmesini dilerseniz bu kodu kullanabilirsiniz;
 
$mail->AddReplyTo('info@hoskia.com', 'hoskia Bilişim Teknolojileri');
  • 0 Bu dökümanı faydalı bulan kullanıcılar:
Bu cevap yeterince yardımcı oldu mu?

İlgili diğer dökümanlar

Ubuntu 18.04 üzerine PHP 5.6 kurmak ve default olarak ayarlamak.

Ubuntu 18.04 üzerine PHP 5.6 kurmak ve default olarak ayarlamak için aşağıdaki komutları...

Ubuntu PHP yi Apache olmadan kurmak. Install php without Apache.

PHP 7.2 ve üstü kurulumu sırasında default olarak Apache de kurulmaktadır. Nginx ile PHP...

PHP Opencart Error: Call to undefined function imagecreatefromjpeg()

Opencart kullanımı sırasında aşağıdaki hatayı alıyorsanız sebebi geçerli PHP sürümü için GD...

nvalid date.timezone value 'UTC' Hatası ve Çözümü

PHP'de tarih fonksiyonu kullanırken "date(): Invalid date.timezone value 'UTC', we selected the...

Çözüm: IonCube wrong ELF class: ELFCLASS32 hatası çözümü

Ioncube kurulu sunucunuzda aşağıdkai hatayı alıyorsanız sebebi hatalı sürüm kurulumu...