IMAP Kütüphanesi


    × Bunları biliyor muydunuz?
"Kontrolcü yöntemlerine parametre olarak enjekte edilen sınıfların örneklerine aynı zamanda görünmlerinden de erişebilirsiniz."


[6.2.3]

IMAP üzerinden e-posta sunucuları ile bağlantı kurup e-posta sunucunuzu yönetmenizi sağlar.

 

 

# Gereksinimler


Sunucunuzda imap_* eklentisinin açık olması gerekmektedir. 

 

 

# Kurulum


ZN dağıtımları için kurulum gerekmez.

↓ composer require znframework/package-email

 

 

# Yapılandırma


Dosya: Config/Services.php
Email
string $host = '' Bağlantı sağlanacak host adı. Örnek: imap.yandex.com.tr
string $user = '' Kullanıcı adı. Örnek: [email protected]
string $password = '' Kullanıcı şifresi. Örnek: mypass
int $port = 993 Varsayılan bağlantı portu.
int $flags = [] Bağlantı imleri. Örnek: ['imap', 'ssl']
bool $mailbox = 'INBOX' Varsayılan bağlantı klasörü. 

 

 

# Yöntemler


array list(string $type = 'all')
object mail(int $mailId)
bool move($mailId, string $folder = 'Spam')
bool delete($mailId)
bool changeStatus($mailId, string $status)
bool createFolder(string $folder)
bool deleteFolder(string $folder)
bool renameFolder(string $name, string $newName)
string error(void)

 

 

# List [6.2.3]


Mail kutusunda yer alan e-postaların eşşiz ID bilgilerini listeler. Bu ID bilgisi diğer yöntemlerde ifade edilen $mailId parametresini ifade etmektedir.

Parametreler

string $type = 'all' Listelenecek e-posta türleri. Harf duyarlılığı yoktur.
ALL Tüm e-postalar.
ANSWERED Answered imi ile işaretlenen e-postalar.
SEEN Seen imi ile işaretlenen e-postalar
DELETED Silinmiş e-postalar.
FLAGGED İşaretlenmiş e-postalar.
NEW Yeni e-postalar.
OLD Eski e-postalar.
RECENT Recent imi ile işaretlenen e-postalar.
UNANSWERED Cevaplanmamış e-postalar.
UNSEEN Okunmamış e-postalar.
UNDELETED Silinememiş e-postalar.
UNFLAGGED İşaretlenmemiş e-postalar.
BCC "string" BCC içerisinde geçen e-postalar.
CC "string" CC içerisinde geçen e-postalar.
TO "string" TO içerisinde geçen e-postalar.
FROM "string" FROM içerisinde geçen e-postalar.
SUBJECT "string" SUBJECT içerisinde geçen e-postalar.
BODY "string" BODY içerisinde geçen e-postalar.
TEXT "string" TEXT dizgesi ile eşleşen e-postalar.
UNKEYWORD "string" Dizge ile eşleşmeyen e-postalar.
ON "date" Belirtilen tarihteki e-postalar.
BEFORE "date" Belirtilen tarihten önceki e-postalar.
SINCE "date" Belirtilen tarihten sonraki e-postalar.
return bool

Kullanımlar

output(IMAP::list()); # Tüm e-postalar
output(IMAP::list('UNSEEN')); # Okunmamış e-postalar
output(IMAP::list('CC robot')); # CC içerisinde "robot" ifadesi olan e-postalar.
output(IMAP::list('since 2019-12-5')); # 2019-12-5 tarinden sonra gelen e-postalar.

 

 

# Mail [6.2.3]


E-posta ID bilgisine göre ilgili e-posta adresi ile ilgili detaylı bilgileri verir.

Parametreler

int $mailId İlgili e-posta ID bilgisi.
return object

Dönen Değerler

string $subject Konu.
string $body Mesaj.
array $from Gönderici e-posta ve isim bilgileri.
array $replyTo Paylaşılanlar e-posta ve isim bilgileri.
array $cc CC olarak eklenen e-posta ve isim bilgileri.
array $bcc BCC olarak eklenen e-posta ve isim bilgileri.
string $date Yıl-ay-gün saat-dakika-saniye cinsinden tarih ve zaman bilgisi.
array $attachments Ek bilgileri. Bu bölüm dosya adı ve içeriği bilgilerini tutar.

Kullanımlar

output(IMAP::mail(5)); # 5 numaralı e-posta adresi.

 

 

# Move [6.2.3]


İlgili e-posta adresini farklı bir klasöre taşımak için kullanılır.

Parametreler

string $mailId E-posta ID bilgisi.
string $folder = 'Spam' Klasör adı.
return bool

Kullanımlar

IMAP::move(5, 'Trash'); # 5 nolu e-postayı Trash/ klasörüne taşı.

 

 

# Delete [6.2.3]


İlgili e-posta adresini siler.

Parametreler

string $mailId E-posta ID bilgisi.
return bool

Kullanımlar

IMAP::delete(5); # 5 nolu e-postayı siler.

 

 

# ChangeStatus [6.2.3]


İlgili e-posta adresini etiketler.

Parametreler

string $mailId E-posta ID bilgisi.
string $status Etiket türü. Kullanılabilir Seçenekler: seen / read, unseen / unread, answered, flagged, deleted, draft
return bool

Kullanımlar

IMAP::changeStatus(5, 'unread'); # 5 nolu e-postayı okunmamış olarak işaretler.

 

 

# CreateFolder [6.2.3]


E-posta kutusunda klasör oluşturmak için kullanılır.

Parametreler

string $folder Klasör adı.
return bool

Kullanımlar

IMAP::createFolder('MyFolder');

 

 

# DeleteFolder [6.2.3]


E-posta kutusundan mail silmek için kullanılır.

Parametreler

string $folder Klasör adı.
return bool

Kullanımlar

IMAP::deleteFolder('MyFolder');

 

 

# RenameFolder [6.2.3]


E-posta kutusundan mail silmek için kullanılır.

Parametreler

string $name Klasör adı.
string $newName Klasörün yeni adı.
return bool

Kullanımlar

IMAP::renameFolder('MyFolder', 'MyFolder2');

 

 

# Error [6.2.3]


Herhangi bir hatanın oluşması durumunda hatayı çıktılar.

Parametreler

void
return string

Kullanımlar

output( IMAP::error() );