SMTP Mail Kütüphanesi

SMTP Mail kütüphanesi, SMTP üzerinden mail gönderimini sağlar. PHPMailer kütüphanesinden türetilmiştir.

  1. SMTP Ayarlarının Yapılandırılması
  2. Gönderici Tanımlama » setFrom()
  3. Alıcı Tanımlama » addAddress()
  4. Cevap Adresi Tanımlama » addReplyTo()
  5. CC ve BCC Tanımlama » addCC(), addBCC()
  6. Dosya Ekleme » addAttachment()
  7. Mail Konusunu Belirleme » subject()
  8. Mail İçeriğini Belirleme » body()
  9. Plain-Text Mail İçeriğini Belirleme » altBody()
  10. Mail Gönderme » send()
  11. Mail Gönderim Hatalarını Yakalama » getError()

SMTP Ayarlarının Yapılandırılması

SMTP ile ilgili ayarlar /App/Config dizininde bulunan App.php dosyasındaki smtp anahtarında yer alır. Varsayılan olarak buradaki ayarlar dikkate alınırken, istendiği takdirde kütüphane içerisindeki init() methodu ile ayarlarda özelleştirme yapılabilir.

//--- [*] App/Config/App.php ---//
'email' => [
	'server'	=> '',
	'port'		=> 25,
	'username'	=> '',
	'userpass'	=> '',
	'charset'	=> 'utf-8',
],
# init()

SMTP ayarlarını, uygulamanın herhangi bir bölümünde özelleştirmek için init() methodu kullanılır. Aşağıdaki anahtarları içeren bir array değişkeni parametre olarak alır;

Mail::init([
	'server'	=> '127.0.0.1',
	'port'		=> 25,
	'username'	=> 'username',
	'userpass'	=> 1234,
	'charset'	=> 'utf-8',
	'isHtml'	=> true
]);

# setHost()

SMTP Mail Server bilgisini tanımlamak için kullanılır.

Mail::setHost('127.0.0.1');

# setPort()

SMTP Port numarasını tanımlamak için kullanılır.

Mail::setPort(25);

# setUsername()

SMTP kullanıcı adını tanımlamak için kullanılır.

Mail::setUsername('username');

# setPassword()

SMTP kullanıcı şifresini tanımlamak için kullanılır.

Mail::setPassword('1234');

# setCharset()

Mail charset değerini tanımlamak için kullanılır.

Mail::setCharset('utf-8');

# setHtml()

Mail içeriğinin HTML olup olmadığını belirtmek için kullanılır.

Mail::setHtml(true);

Gönderici Tanımlama

Mail gönderirken, gönderici E-Posta adresini ve ismini belirtmek için setFrom() methodu kullanılır. Gönderici E-Posta adresi ve ismi parametre olarak verilir.

Parametre Veri Tipi Açıklama
$email String Gönderici E-Postası
$fullname String Gönderici adı
Mail::setFrom('info@titanphp.com', 'Titan Framework');

Alıcı Tanımlama

Mail gönderirken, alıcı E-Posta adresini ve ismini belirtmek için addAddress() methodu kullanılır. Alıcı E-Posta adresi ve ismi parametre olarak verilir.

Parametre Veri Tipi Açıklama
$email String Alıcı E-Postası
$fullname String Alıcı adı
Mail::addAddress('info@mail.com', 'John Doe');

Cevap Adresi Tanımlama

Mail kütüphanesi ile gönderilen mail cevaplanmak istendiğinde, cevap mailinin gönderileceği e-posta adresini tanımlamak için addReplyTo() methodu kullanılır. E-Posta adresi ve isim parametre olarak verilir.

Parametre Veri Tipi Açıklama
$email String Cevap alıcı E-Postası
$fullname String Cevap alıcı adı
Mail::addReplyTo('info@titanphp.com', 'Titan Framework');

CC ve BCC Tanımlama

Mail gönderirken, CC ve BCC adresleri tanımlamak için addCC() ve addBCC() methodları kullanılır. Alıcı E-Posta adresi ve ismi her iki methoda da parametre olarak verilir.

Parametre Veri Tipi Açıklama
$email String Alıcı E-Postası
$fullname String Alıcı adı
Mail::addCC('user_1@mail.com', 'User 1');
Mail::addBCC('user_2@mail.com', 'User 2');

Dosya Ekleme

Gönderilecek maile dosya eklemek için (attachment) addAttachment() methodu kullanılır. Eklenecek dosyanın yolu parametre olarak verilir.

Parametre Veri Tipi Açıklama
$filepath String Dosya yolu
Mail::addAttachment('/var/tmp/file.gz');

Mail Konusunu Belirleme

Gönderilecek mailin konusunu belirtmek için subject() methodu kullanılır. Konu bilgisi parametre olarak verilir.

Parametre Veri Tipi Açıklama
$subject String Mail konusu
Mail::subject('Mail Konusu');

Mail İçeriğini Belirleme

Gönderilecek mailin içeriğini belirtmek için body() methodu kullanılır. Mail içeriği parametre olarak verilir.

Parametre Veri Tipi Açıklama
$body String Mail içeriği
Mail::body('Bu bir HTML <b>mail</b> içeriğidir');

Plain-Text Mail İçeriğini Belirleme

Gönderilecek mailin, HTML desteklemeyen istemcilere uygun plain-text içeriğini belirtmek için altBody() methodu kullanılır. Mail içeriği parametre olarak verilir.

Parametre Veri Tipi Açıklama
$body String Mail içeriği
Mail::altBody('Bu bir Plain-Text mail içeriğidir');

Mail Gönderme

Gerekli tanımlamalar yapıldıktan sonra, mail gönderimi için send() methodu kullanılır.

Mail::send();

Mail Gönderim Hatalarını Yakalama

Mail gönderimi sırasında oluşan hataları yakalamak için getError() methodu kullanılır.

if (!Mail::send())
{
	echo Mail::getError();
}