imap_open

(PHP 4, PHP 5, PHP 7)

imap_openBelirtilen posta kutusuna yeni bir IMAP akımı açar

Açıklama

imap_open ( string $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.

Değiştirgeler

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ı:

  • uzak_sistem_adı - Genel Ağ alan adı veya sunucunun IP adresi.
  • port - İsteğe bağlı TCP port numarası; öntanımlı değeri hizmetin öntanımlı port numarasıdır.
  • imler - İsteğe bağlı imlerin açıklamaları için aşağıdaki tabloya bakınız.
  • pk_ismi - Uzak posta kutusu ismi; INBOX öntanımlı isimdir.

İsimler için seçimlik imler
İ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ı.

Dönen Değerler

Hata durumunda FALSE yoksa bir IMAP akımı döner.

Sürüm Bilgisi

Sürüm: Açıklama
5.2.0 dnm_sayısı değiştirgesi eklendi.

Örnekler

Ö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);
?>

Ayrıca Bakınız