PHPMailer ve Swiftmailer Kütüphaneleriyle PHP Eposta Gönderimi

PHP web programlama dilinin kendi mail() fonksiyonu olmasına rağmen bu fonksiyonunun smtp, sendmail gibi protokollerle çalışmıyor olması ve sunucuların açık oluşturmasından dolayı mail() fonksiyonunu devre dışı bırakması nedeniyle de 3. parti bir çözüme ihtiyaç olabilir. Kendi ihtiyacım olduğunda karşıma çıkan ve sorunsuz çalışan iki kütüphaneyi paylaşmak istiyorum. İlki PHPMailer, ikincisi Swiftmailer kütüphanesi. İkisi de Composer […]

Yazan - Fatih Anıl

Kasım 25, 2017
"

PHP web programlama dilinin kendi mail() fonksiyonu olmasına rağmen bu fonksiyonunun smtp, sendmail gibi protokollerle çalışmıyor olması ve sunucuların açık oluşturmasından dolayı mail() fonksiyonunu devre dışı bırakması nedeniyle de 3. parti bir çözüme ihtiyaç olabilir. Kendi ihtiyacım olduğunda karşıma çıkan ve sorunsuz çalışan iki kütüphaneyi paylaşmak istiyorum.

İlki PHPMailer, ikincisi Swiftmailer kütüphanesi. İkisi de Composer aracılığıyla yüklenebiliyor. Composer ile yüklemelerde kütüphane haricinde bir kaç dosya ilavesiyle kullanamazsanız bu yazıyla yardımcı olmaya çalışacağım.

Swiftmailer

Swiftmailer projenize entegre etmek için aşağıdaki kodları çalıştırmanız gerek. Aşağıdaki kodların çalışması için ise Composer yüklü olmalı.

$ composer require “swiftmailer/swiftmailer:^6.0”

Yukarıdak kodlar vasıtasıyla yüklemeyi tamamladığınızda Swiftmailer’in çalışmak için PHP 7.0 ve yüksek sürüm istediğini ve mbstring aşırı yüklemesiyle mbstring.func_overload değeri 2 olduğunda çalışmayacağını unutmayalım.

Yükleme sonrasında oluşturulan dizin içinde “Vendor” adlı dizini projenizin içine kopyalayın.

Bundan sonra “autoload.php” dosyasını PHP dosyanıza ithal ederek kullanabilirsiniz. Aşağıdaki kodları projenize ister fonksiyon olarak ister prosedürel olarak yazabilirsiniz;

 

require_once '/path/to/vendor/autoload.php';

//  Transport nesnesini oluşturuyoruz
$transport = (new Swift_SmtpTransport('smtp.fatihanil.net.tr', 25))
  ->setUsername('eposta adresi')
  ->setPassword('eposta şifresi')
;

// Transport nesnesi parametresiyle mailer nesnesi oluşturuyoruz
$mailer = new Swift_Mailer($transport);

// İletiyi oluşturuyoruz
$message = (new Swift_Message('İleti Başlığı'))
  ->setFrom(['gonderen@domain.com' => 'John Doe'])
  ->setTo(['alıcı@domain.org', '2.alıcı@domain.org' => 'A name'])
  ->setBody('İletinin mesaj kısmı...')
  ;

// İleti gönderiliyor
$result = $mailer->send($message);

Daha detaylı bilgiye Swiftmail.symfony.com sayfasından ulaşabilirsiniz.

PHPMailer

 

0 Comments

Submit a Comment

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir