(PHP 4, PHP 5, PHP 7)
imap_open — Belirtilen posta kutusuna yeni bir IMAP akımı açar
$pk
, string $kullanıcı
, string $parola
[, int $seçenekler
= NIL
[, int $dnm_sayısı
= 0
]] ) : resource
Belirtilen posta kutusuna (pk
) bir
IMAP akımı açar.
Bu işlev POP3 ve NNTP sunucularına oturum açmak için de kullanılabilirse de bazı işlevler ve özellikler sadece IMAP sunucularında kullanılabilmektedir.
pk
Bir posta kutusu ismi, bir sunucu ve sunucu üzerindeki bir posta kutusu yolundan oluşur. INBOX özel bir isim olup kullanıcıların kişisel posta kutularını betimler. Uluslararası karakterler içeren posta kutusu isimleri, ASCII bölgesinde basılabilir hale getirilmek üzere imap_utf7_encode() ile kodlanır.
Posta kutusu isminin sunucu parçası '{' ve '}' ayraçları arasına yazılmış sunucu adı veya IP adresine iki nokta imi ile eklemlenebilen isteğe bağlı bir port ve '/' ile eklemlenebilen yine isteğe bağlı bir protokol belirtiminden oluşur.
Tüm posta kutusu değiştirgelerinde sunucu parçasının belirtilmesi zorunludur.
Tüm isimler { ayracı ile başlar ve genelde şu sözdizimine sahiptir: "{" uzak_sistem_adı [":" port] [imler] "}" [pk_ismi]. Sözdizimini oluşturan parçaların açıklamaları:
İm | Açıklama |
---|---|
/service= hizmet |
Posta kutusuna erişimi sağlayan hizmetin adı; "imap" öntanımlı değerdir. |
/user= kullanıcı |
Sunucuya oturum açmak için uzak kullanıcı ismi |
/authuser= kullanıcı |
Kimlik doğrulaması için kullanılacak kullanıcı ismi; belirtilirse parola olarak bu kullanıcının parolası kullanılır. |
/anonymous |
Bir anonim kullanıcı olarak erişim |
/debug |
Uygulamanın hata ayıklama günlüğündeki protokol uzaktan ölçümü kaydedilir. |
/secure |
Salt metin bir parola ağ üzerinden aktarılmaz. |
/imap , /imap2 ,
/imap2bis , /imap4 ,
/imap4rev1 |
/service=imap'a eşdeğerdir. |
/pop3 |
/service=pop3'e eşdeğerdir. |
/nntp |
/service=nntp'ye eşdeğerdir. |
/norsh |
Ön kimlik doğrulamalı IMAP oturumu oluşturmak için rsh veya ssh kullanılmaz |
/ssl |
Oturumu şifrelemek için use the SSL kullanılır. |
/validate-cert |
TLS/SSL sunucusundaki sertifikaları doğrular (bu öntanımlı davranıştır) |
/novalidate-cert |
TLS/SSL sunucusundaki sertifikalar doğrulanmaz; sunucu öz- imzalı sertifikalar kullanıyorsa gerekir. |
/tls |
Oturumu şifrelemek için start-TLS kullanımı zorlanır ve bunu desteklemeyen sunuculara bağlantı reddedilir. |
/notls |
Oturumu şifrelemek için sunucular desteklese bile start-TLS kullanılmaz. |
/readonly |
Salt-okunur posta kutusu açma isteği yapılır. (Sadece IMAP içindir. NNTP'de yoksayılır, SMTP ve POP3 ile kullanıldığında ise hata oluşur). |
kullanıcı
Kullanıcı ismi.
Parola
kullanıcı
ile ilişkili parola.
seçenekler
Aşağıdakilerden bir veya birkaçını içeren bir bit maskesidir:
OP_READONLY
- Posta kutusu salt-okunu açılır.
OP_ANONYMOUS
- Haberler (sadece
NNTP) için .newsrc
kullanılmaz ve güncellenmez.
OP_HALFOPEN
- IMAP
ve NNTP isimleri için bir posta kutusu değil bir
bağlantı açar.
CL_EXPUNGE
- Kapatmadan önce posta kutusu
sessizce silinir (ayrıca bakınız: imap_delete()
ve imap_expunge())
OP_DEBUG
- Hata ayıklama protokolü pazarlığı
yapılır.
OP_SHORTCACHE
- Küçük (sadece
elt) önbellekleme
OP_SILENT
- Olaylar aktarılmaz (dahili
kullanım)
OP_PROTOTYPE
- Sürücü önörneği döner.
OP_SECURE
- Güvenilir olmayan bağlantıyla
kimlik doğrulaması yapılmaz.
dnm_sayısı
Azami bağlantı denemesi sayısı.
Hata durumunda FALSE
yoksa bir IMAP akımı döner.
Sürüm: | Açıklama |
---|---|
5.2.0 | dnm_sayısı değiştirgesi eklendi. |
Örnek 1 - imap_open() işlevinin farklı kullanımları
<?php
// Yerel makinenin 143. portunda çalışan IMAP sunucusuna bağlanalım
$mbox = imap_open("{localhost:143}INBOX", "birey", "parola");
// Yerel makinenin 110. portunda çalışan POP3 sunucusuna bağlanalım
$mbox = imap_open ("{localhost:110/pop3}INBOX", "birey", "parola");
// Protokol belirtimi olarak /ssl kullanarak
// bir SSL IMAP veya POP3 sunucusuna bağlanalım
$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "birey", "parola");
// Protokol belirtimi olarak /ssl/novalidate-cert kullanarak öz-imzalı
// sertifika kullanan bir SSL IMAP veya POP3 sunucusuna bağlanalım
$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}",
"birey", "parola");
// Yerel makinenin 119. portunda çalışan NNTP sunucusuna bağlanalım
$nntp = imap_open ("{localhost:119/nntp}comp.test", "", "");
// Bir uzak sunucuya bağlanmak için "localhost" yerine sunucunun adını
// veya IP adresini yazın.
?>
Örnek 2 - imap_open() örneği
<?php
$mbox = imap_open("{imap.example.org:143}", "birey", "parola");
echo "<h1>Posta kutuları</h1>\n";
$folders = imap_listmailbox($mbox, "{imap.example.org:143}", "*");
if ($folders == false) {
echo "İşlem başarısız oldu<br />\n";
} else {
foreach ($folders as $val) {
echo $val . "<br />\n";
}
}
echo "<h1>INBOX içindeki başlıklar</h1>\n";
$headers = imap_headers($mbox);
if ($headers == false) {
echo "İşlem başarısız oldu<br />\n";
} else {
foreach ($headers as $val) {
echo $val . "<br />\n";
}
}
imap_close($mbox);
?>