HTML PHP

PHP İle E-Posta Eklerini İndirin

Uzun bir süreden sonra tekrar merhaba 🙂

Hakkımda kısmına baktıysanız Kocaeli Üniversitesi Bilgisayar Öğretmenliği mezunu olduğumu görmüşsünüzdür. 2018-2019 eğitim ve öğretim yılında Düzce Üniversitesinde Bilgisayar Mühendisliği programında mühendislik tamamlama okumaya başladım. Bu dönem aldığım derslerin birinden yaptığım projede kullandığım IMAP servisi ile çekilen mail adreslerinin eklentilerini indirmede kullandığım PHP kodlarını sizinle paylaşmak istedim. Proje ödev niteliğinde olduğu için profesyonel bir bakış açısıyla yapılmadı. Kaynak kodları istediğiniz gibi kullanabilirsiniz.

Kodları sayfanın en altından indirebilirsiniz. Projedeki özellikleride şuraya belirteyim.

Giriş Sayfası

Giriş sayfası (giris.php) veritabanında bulunan kullanicilar_tbl isimli tabloda saklanan kullanıcıya ait bilgiler ile giriş yapılmasını sağlamaktadır. Hatalı girişlerde “Kullanıcı adını veya şifreyi yanlış girdiniz. Lütfen tekrar deneyiniz.” , başarılı girişlerde “Giriş başarılı. Yönlendiriliyorsunuz.Şeklinde uyarı mesajı vermektedir. Başarılı giriş uyarısı çıktıktan 3 saniye sonra sistem anasayfaya yönlendirme işlemi gerçekleştiriliyor.


Anasayfa

Anasayfanın (index.php) üst kısmında sistem adı (E-Posta Ek İndirici), hemen altında menü alanı (include/topbar.php) bulunmasıyla beraber orta kısımda genel istatistikler ve son yapılan işlemler ile ilgili özel bilgiler yer almaktadır.

 


Ayarlar Sayfası

Ayarlar (ayarlar.php) sayfasında HTML meta etiketleri bulunmaktadır.

Description : Sayfalar hakkında açıklama metninin yazılabileceği yer.
Author : Sayfaları oluşturan kişi veya kurum bilgisinin yazılabileceği yer.
Tittle : Sayfaların başlık alanlarında görünmesi istenilen metin.
Tittle2 : Sistem adı.
Footer : Sayfaların alt kısmındaki imza alanında yer alınması istenilen metin.


Hesaplar Sayfası

Hesaplar (hesaplar.php) sayfasında sistem kullanmak istenilen e-posta adreslerinin kayıt altına alabileceğiniz form bulunmaktadır. Sorgulama yapmak istediğinizde her seferde e-posta adresini yazmaya gerek duymadan ilgili listeden e-posta adresini geçerek işleme devam edebileceksiniz.


Ek İndir Sayfası

Ek indir (ek-indir.php) sayfası sistemin ana özelliğinin çalıştığı sayfadır. Bu sayfada bulunan form alanları istenildiği gibi doldurulduktan sonra “Sorgula” butonuna tıklanır ve sistem istenilen kriterlere göre e-posta içerisinde bulunan dosya eklerini indirilerek ZIP formasında sıkıştırır ve indirmeye hazır hale getirir.

Form özellikleri;

E-Posta Hesabı : Hesaplar (hesaplar.php) sayfasında eklenilen e-posta hesaplar bu alanda listelenir. Sorgulama yapmak istenilen e-posta bu listeden tarafınızca seçilir.
E-Posta Şifresi : Güvenlik nedeniyle e-posta hesabı eklenirken şifre veritabanına kayıt ettirilmedi. Bu nedenle her sorgulama esnasında bu alana e-posta şifrenizi girmeniz gerekiyor. Bu alan hiçbir yere kayıt edilmemektedir. Sadece arka arka sorgulama yapma esnasında kolaylık sağlaması için sayfayı yenilemediğiniz sürece e-posta şifresi alanda gizlenmiş olarak beklemektedir.
Konuda Ara : Sorgulama yapmak istediğiniz e-postalar içerisinde konu bazlı arama yapmanızı sağlar. Boş bırakıldığı takdirde tüm maillerin sorgusunu gerçekleştirir.
Başlangıç Tarihi : Sorgulama yapmak isterken bir başlangıç tarihi belirleyebilirsiniz.
Bitiş Tarihi : Sorgulama yapmak isterken bir bitiş tarihi belirleyebilirsiniz.
Dosya Türü : Sorgulama yaparken indirilmesi istenilen ek türlerini seçebilirsiniz.
Kutu : Her mail gelen kutusuna düşmeyebilir. Böyle durumlar için forma kutu özelliği eklenmiştir. Bu kutuda gelen kutusu veya önemsiz (spam) kutusunu seçerek sorgulama yapabilirsiniz.


Sorgular Sayfası

Sorgular (sorgular.php) sayfasında ek indir (ek-indir.php) sayfasında yapılan sorguların inceleyebildiğiniz sayfadır. Sorgular içerisinde arama ve sayfalama özelliği bulunmaktadır.

Sayfanın özellikleri;

ID : Sorgulamanın veritabanında kayıtlı olduğu ID bilgisini gösterir.
E-Posta : Sorgulamanın yapıldığı e-posta adresini gösteri.
Konu : Sorgulama esnasında konu alanına kelime girildiyse girilen kelimeleri gösterir.
Başlangıç : Sorgulama esnasında başlangıç tarihi bilgisi girildiyse başlangıç tarihi bilgisini gösterir.
Bitiş : Sorgulama esnasında bitiş tarihi bilgisi girildiyse bitiş tarihi bilgisini gösterir.
Dosya Türü : Sorgulama esnasında seçilen dosya türleri gösterir.
Kutu : Sorgulama esnasında seçilen gelen (inbox) veya gereksiz (spam) kutu bilgisini gösterir.
İşlem Zamanı : Sorgulamanın yapıldığı zaman bilgisini gösterir.
İçerik : Sorgulama esnasında indirilen eklerin detay bilgisini gösterir.
Zip : Sorgulama sonucunda indirilen eklerin ZIP formatında sıkıştırılmış halini indirmeye hazır haline ulaşmayı sağlar.
Durum : Aktif/Pasif durumlarını değiştirilebilir filtreleme işlemlerinde işlemlerini kolaylaştırır.
Sil : Sorgulamaya ait tüm bilgilerin veritabanından ve FTP’den silinmesini sağlar. Bu işlemi gerçekleştirmeden önce silmek istediğinizin ikinci teyidini ister.


Profil Sayfası

Profil (profil.php) sayfasında kullanicilar_tbl isimli tablosunda bulunan verinin güncellenmesini sağlar. Bu sayfada yönetici bilgilerini ve şifresini güncelleyebilirsiniz.


Bomba Sayfası

Bomba (bomba.php) sayfasındaki TEMİZLİK ZAMANI butonunu kullandığınızda sistem üzerinde daha önce yaptığınız tüm sorgular, bu sorgulara ait içerik bilgileri ve FTP’de indirilmeyi bekleyen ZIP uzantılı sıkıştırılmış dosyalar geri dönüşü olmayacak bir şekilde silinmesini sağlar.


Diğer

Dikkat edilmesi gerekenler:

Kullanılan PHP versiyonu 5.6 ve üzeri
PHP IMAP eklentisinin ilgili sunucuda aktif olması gerekiyor
Dosyaların sunucudaki klasöre inebilmesi için oluşturulacak klasörlerin yazılabilir özelliği (777) aktif edilmesi gerekiyor.
Sistem Gmail üzerinden test edilerek oluşturulmuştur.
Kullanılan PHP fonksiyonunun adı imap_search.
ALL – Kuralın kalanı ile eşleşen tüm iletiler döndürülür.
ANSWERED – \\ANSWERED (yanıtlandı) imli iletiler döndürülür.
BCC “dizge” – Bcc: başlığında “dizge” bulunan iletiler döndürülür
BEFORE “tarih” – Date: başlığındaki “tarih” tarihinden önceki iletiler döndürülür.
BODY “dizge” – İleti gövdesindeki “dizge” ile eşleşen iletiler döndürülür
CC “dizge” – Cc: başlığında “dizge” bulunan iletiler döndürülür.
DELETED – silinen iletiler döndürülür.
FLAGGED – \\FLAGGED imli (bazan Önemli ve Acil diye de nitelenir) iletiler döndürülür.
FROM “dizge” – From: başlığında “dizge” bulunan iletiler döndürülür.
KEYWORD “dizge” – Bir anahtar s.zcük olarak “ileti” içeren iletiler döndürülür.
NEW – Yeni iletiler döndürülür.
OLD – Eski iletiler döndürülür.
ON “tarih” – Date: başlığında “tarih” bulunan iletiler döndürülür.
RECENT – \\RECENT (en yeni) imli iletiler döndürülür.
SEEN – \\SEEN (okundu) imli iletiler döndürülür.
SINCE “tarih” – Date: başlığında “tarih” tarihinden sonraki tarihli iletiler döndürülür.
SUBJECT “dizge” – Subject: başlığında “dizge” bulunan iletiler döndürülür.
TEXT “dizge” – “dizge” metniyle eşleşen iletiler döndürülür.
TO “dizge” – To: başlığında “dizge” bulunan iletiler döndürülür.
UNANSWERED – Yanıtlanmamış iletiler döndürülür.
UNDELETED – Silinmiş iletiler döndürülür.
UNFLAGGED – İmlenmemiş iletiler döndürülür.
UNKEYWORD “dizge” – “dizge” anahtar s.zcüğünü içermeyen iletiler döndürülür.
UNSEEN – Henüz okunmamış iletiler döndürülür.

İNDİR : PHP İle E-Posta Ek İndirici (157 indirme)