Posts

PhpMailer – Form İle Yüklenen Dosyayı Maile Ekleyerek Yollamak

PhpMailer bu işlemler için oluşturulmuş oldukça kolay bir classtır.

PhpMailer bu işlemler için oluşturulmuş oldukça kolay bir classtır.

Herkese merhaba arkadaşlar.

Uzun bir zaman geçti. Ne yazı yazabildim ne de sayfamda paylaşım yaptım. Uzun bir süreçte aşırı bir yoğunluk ve isteksizlik içerisindeydim. Çalıştığım yerdeki stres dışında php kursum ve yapmakta olduğum bir web sitesi ile uğraşmam sonucunda hiç vaktim kalmıyordu. Artık kursum bitti ve zamanım arttığına göre yazılarıma devam ederim.

İlk kursum html ve css üzerine idi. Sertifikamı aldım ve tasarım işine köşesinden girdim. Ama web programlama daha hoşuma gidiyor diyeyim. Şu an yeni biten kursum ise php&mysql kursum. Proje ödevimi de az önce mail olarak yolladım. Hazır fırsat bu fırsat iken php ve web programcılığı yolculuğuma yeni başlıyorum ve bu süreçte yaptığım keşifleri nelerle hangi sorunlarla karşılaştığımı yazarsam hem benim için sonrası başvurabileceğim bir kaynak hem de başkaları için bir yol olur düşüncesi geldi aklıma. Bugün de bilişim kategorimi oluşturdum.

Ben ilk web sitesi işimi yaparken gelen isteğe göre karşılaştığım istek bir formda gönderilen iki adet resmi ve bilgileri mail olarak gönderebilmek. Normal mail fonksiyonunu biliyordum ama yüklenen dosyaları nasıl ekleyip göndereceğimi bilmiyordum. Daha sonra en iyisi bununla ilgili bir class arayayım dedim ve google amcaya sordum. İlk satırda PhpMailer classını gördüm ve indirip siteye dahil ettim.

Classın dosyalarını site dosyaları içine attıktan sonra aşağıdaki kodları eklemeniz yeterli olacaktır aslında.

require 'PHPMailerAutoload.php';
 //Dosyaları nereye attıysanız ona göre yazarsınız.
$mail = new PHPMailer;
$mesajmetni=" ";
 //Normalde bu değişken yoktu ama form ile gelen verileri bu değişkene aktarmayı tercih ettim ben.
$mail->setLanguage('tr', '/directory/');
 //Hata mesajlarının türkçe olmasını sağlıyor.
 $mail->CharSet='SET NAMES UTF8';
 // Mailin karakter setini utf-8 olarak atayarak olası türkçe karakter sıkıntısını çözüyoruz.
$mail->isSMTP();
 // Ayarları SMTP olarak seçmiş oluyoruz.
 $mail->Host = 'smtp1.example.com;smtp2.example.com';
 // SMTP sunucu bilgilerini yazıyoruz.
 $mail->SMTPAuth = true;
 // SMTP Kimlik doğrulamasını aktif hale getiriyoruz. Pasif yapmak için true'yu false yapmalıyız.
 $mail->Username = 'jswan';
 // SMTP kullanıcı adı
 $mail->Password = 'secret';
 // SMTP şifre
 $mail->SMTPSecure = 'tls';
 // tls şifrelesi standart olarak aktiftir zaten. Ssl de kabul ediyor.
$mail->From = 'from@example.com';
 //Hangi mail adresinden göndereceğimizi yazıyoruz.
 $mail->FromName = 'Mailer';
 // Gönderen ismini yazıyoruz.
 $mail->addAddress('josh@example.net', 'Josh Adams');
 // Mail gönderilecek ismi yazıyoruz. İsim tamamen isteğe bağlı.
 $mail->addAddress('ellen@example.com');
 $mail->addReplyTo('info@example.com', 'Information');
 //Yanıtla dendiğinde nereye mail gönderileceğini belirlemek için burayı kullanıyoruz.
 $mail->addCC('cc@example.com');
 // Cc'ye mail adresi eklemek için bunu kullanıyoruz.
 $mail->addBCC('bcc@example.com');
$mail->WordWrap = 50;
 // Word Wrap kaç karakter olacağı. Ben de bilmiyordum sizde google amcaya sorun işte.
 $mail->addAttachment('/var/tmp/file.tar.gz');
 // Eklenecek dosyanın nerede olduğunu yazmamız gerekiyor. Eğer $_FILES'daki dosyayı
 //bir yere taşıdıysanız orayı yazın. Ben direk $_FILES['tmp_name'] yazdım bir yere taşımadan.
 //Böylece işlem bittiğinde sunucudan siliniyor. Ama bunu yaparsanız aşağıdaki
 //isim vermeyi kullanın. Çünkü bin uzantılı olarak gönderir yoksa.
 $mail->addAttachment('/tmp/image.jpg', 'new.jpg');
 // Burada ise yüklenen isme yeni isim verme seçeneği var. Tercihe bağlı.
 $mail->isHTML(true);
 // Emaili html formatında göndermeye onay veriyoruz.
$mail->Subject = 'Here';
 // Mail'in başlığı.
 $mail->Body = ' body <b>in bold!</b>';
 // Mail içeriği. $mesajmetni değişkenimi koydum buraya ben direk.
 $mail->AltBody = 'body';
 // Buraya da alıcı taraf eğer html görüntüyü desteklemiyorsa ne gözükmesi gerektiğini yazıyoruz.
if(!$mail->send()) {
 echo 'Message could not be sent.';
 // Burada ise mail gönderiminin başarısız olup olmadığını kontol ediyor. Başarısız ise ekranda ne yazacağı gözüküyor.
 echo 'Mailer Error: ' . $mail->ErrorInfo;
 // Burada ise classın geri döndürdüğü hata bilgisini yazdırıyor.
 exit;
 // Exit yapıyor ama ben bunu silmenizi tavsiye ederim. Çünkü bu noktadan sonraki hiç bir kod çalışmaz.
 }
echo 'Message has been sent';
 // Exit'i silmez iseniz yukarı çalışmadığında doğal olarak burası çalışır.
 //Ama ben else kullanarak burasını yazdırtmayı uygun gördüm.

 

Evet bu şekilde rahatlıkla yüklenen dosyayı otomatik olarak maile ekleyerek gönderebilirsiniz. Benden şimdilik bu kadar. Sağlıcakla kalın.

Cep Telefonları Arasında İletişim Nasıl Gerçekleşir

Telefonun icadı ve yaygınlaşması ile hayatımızın değiştiği bir gerçek. Her geçen gün cep telefonlarına olan bağımlılığımız, başkaları ile olan iletişimlerimizi cep telefonu üzerinden gerçekleştirme süreci giderek artmaktadır. Hatta cep telefonu kavramı eski bir kavram olarak kalmakta ve akıllı telefonlar hayatımıza bir süredir girmiş ve gelecekte bir sürü yeni teknolojiler bizi beklemektedir.

Peki bu cep telefonları arasında iletişim nasıl gerçekleşir?

Öncelikle normal telefonların nasıl çalıştığını anlayalım.

Read more

GELECEĞİN TRENDİ BÜYÜK VERİ (BİG DATA)

Günümüzde bilişim teknolojileri o kadar hızlı gelişiyor ki takip etmeyi bırakalım haberdar olmamız bile güçleşmiş durumdadır. Çünkü biz o yeni teknolojiden haberdar olana kadar bazen onun bir üst versiyonu ya da yerini alabilecek teknoloji çıkmış olabiliyor.

Şu anda da birçok IT uzmanı tarafından konu edilen Büyük Veri kavramı çıktı ortaya. Henüz yaygınlaşmasa da şimdiden birçok kişinin hedeflerinde yer almış durumda ve ilerleyen zamanlarda çok etkin bir şekilde kullanılacağı kesin. Peki, nedir bu Büyük Veri?

Read more

BULUT BİLİŞİMİN YANLIŞ BİLİNENLERİ

Son yıllarda etrafımızda sıkça duyduğumuz bir şey bulut bilişim. Hakkında bazılarımızın detaylı bilgisi olmasına rağmen bir çoğumuzun aslında pek bilgisi olmadığı bir kavram. Peki nedir bulut bilişim?

Bulut bilişim veya işlevsel anlamıyla Çevrim İçi Bilgi Dağıtımı (Kaynak) ; bilişim aygıtları arasında ortak bilgi paylaşımını sağlayan hizmetlere verilen genel addır. Aslında bu yönüyle bir ürün değil, hizmettir. Eskiden firmalar, kullanıcılar kendi özel ağları ile haberleşme ve paylaşım içerisindeyken gelişen teknoloji ile artık herkesin yanında bulundurduğu taşınabilir aygıtlarla internet herkesin parmağının ucunda. Bunun sonucunda internet üzerinden bilgi paylaşımı çok doğal bir kavram haline geldi. Bulut bilişim eskiden verilerin bilgisayarın harddisklerinden ziyade çevrim içi bulutlarda kullanılmasını öngörürdü. Fakat şu an bulut bilişim daha fazlasını sunabilmektedir.

Read more

WEBRTC YENİ BİR STANDART

webrtcİnternet hayatımıza girdiğinden beri görüntülü iletişim kullanıyoruz. Görüntülü iletişim her zaman 3. Parti uygulamalarla yapılabilmiştir. Örnek vermek gerekirse Google Talk, Skype, Facebook Video Calling vb. Fakat görüntülü iletişim ile ilgili bir standart olmadığı için 3. parti programlar aracılığı ile görüntülü iletişim kurmak zorunda kalıyoruz. Bu yüzden de her programın değişik işletim sistemleri ve platformlara göre uyarlanması gerekiyor ve bu uyarlama uyumsuzluk sıkıntıları oluşuyordu. Ancak yakın zamanda bu durum değişmek üzere.

Google 2011 yılından bu yana W3C standardı olan WEPRTC (Web Real Time Communication – Gerçek Zamanlı İletişim) üzerinde çalışıyor. Bu standart ile hiçbir programa ya da eklentiye gerek duymadan bizim görüntülü iletişim kurmamıza olanak sağlayacak. Şu anda bu standardı destekleyen Google Chrome, Mozilla Firefox ve Opera var. Microsoft Internet Explorer bazı sebeplerden dolayı bu desteği vermek yerine kendi standardı olan CU-RTC-Web oluşturmaya başladı. Hatta iddiasına göre kendi standardı daha iyi çalışmakta. Microsoftun Skype’yi WebRTC ile web ortamına entegre etmek istediği bilinen bir gerçek. WebRTC standardı şu an masaüstüne yönelik Firefox Nightly yapılarında ve Chrome 25 beta’da yer alıyor. Hatta denemesi bile yapıldı. Mozilla ve Chrome mühendislerinin yaptığını denemeye buradan ulaşabilirsiniz.

Görüntülü iletişimin çalışması için HTML 5 desteği olması gerekecek. Aynı zamanda gerekli kodların çalışabilmesi için kütüphaneler tarayıcılara entegre olacak. Bu sayede javascript apileri web sitesinde çalıştıranlar görüntülü iletişimi kullanabilecek. Görüntülü iletişim için Google VP8 görüntü kodekini oluşturdu. Görüntülü iletişimde bu kodek kullanılacak. Bu kodek aynı zamanda Microsoftun WEBRTC’ye destek vermemesinin sebeplerinden birisi. Google bu standartta sadece bu kodeğin kullanılmasını istiyor. Microsoft ise bir çok kodekin kullanılabilir olmasını savunuyor. Bu yüzden de destek vermiyor.

Görüntülü iletişimi başlattığımızda bir oda oluşacak. Odaya başka birini davet etmek için verilen linki istediğiniz kişiler ile paylaşabileceksiniz. Bu sayede görüntülü konferanslar yapabilecek veya iki kişi sohbet edebileceksiniz.

WebAPI ile oluşturulan web uygulamasının yorumlanabilmesi için ise WebRTC uyumlu internet tarayıcısında şu öğeler bulunmalıdır:

WebRTC C++ API

Session Yönetimi, Sinyalleşme

Ses Motoru

Video Motoru (VP8 Codec)

Transport

Bu standart sayesinde kendi sitenize javascript kodlarını koyarak kendi görüntülü iletişim hizmetinizi verebileceğiniz gibi gerekli hizmeti veren bir siteden de yararlanabileceksiniz. Aynı zamanda destek verilmesi gereken bir sisteminiz varsa eğer bu kodlar ile sitenizde canlı destek oluşturabilirsiniz. Gerekli kodlara buradan ulaşabilirsiniz.

WEBRTC ile ilgili detaylı bilgi almak için http://www.webrtc.org/ ziyaret edebilirsiniz.