IMAP Kütüphanesi
"ZN Framework'te Masterpage kütüphanesi ile çok basit bir şekilde web iskeleti oluşturabilirsiniz."
(ZN >= 6.0.23)
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
String | $host = '' | Bağlantı sağlanacak host adı. Örnek: imap.yandex.com.tr |
String | $user = '' | Kullanıcı adı. Örnek: my@email.com |
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
6.0.23 | Array | list(String $type = 'all') |
6.0.23 | Object | mail(Int $mailId) |
6.0.23 | Bool | move($mailId, String $folder = 'Spam') |
6.0.23 | Bool | delete($mailId) |
6.0.23 | Bool | changeStatus($mailId, String $status) |
6.0.23 | Bool | createFolder(String $folder) |
6.0.23 | Bool | deleteFolder(String $folder) |
6.0.23 | Bool | renameFolder(String $name, String $newName) |
6.0.23 | String | error(Void) |
# List (ZN >= 6.0.23)
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 (ZN >= 6.0.23)
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 (ZN >= 6.0.23)
İ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 (ZN >= 6.0.23)
İ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 (ZN >= 6.0.23)
İ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 (ZN >= 6.0.23)
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 (ZN >= 6.0.23)
E-posta kutusundan mail silmek için kullanılır.
Parametreler
String | $folder | Klasör adı. |
Return | Bool |
Kullanımlar
IMAP::deleteFolder('MyFolder');
# RenameFolder (ZN >= 6.0.23)
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 (ZN >= 6.0.23)
Herhangi bir hatanın oluşması durumunda hatayı çıktılar.
Parametreler
Void | ||
Return | String |
Kullanımlar
output( IMAP::error() );