imap_open

(PHP 3, PHP 4 )

imap_open --  Öffnet eine Verbindung zu einem Postfach auf einem POP-, IMAP- oder NNTP-Server

Beschreibung

int imap_open ( string mailbox, string username, string password [, int flags])

Diese Funktion liefert ein Verbindungs-Handle bzw. FALSE bei evtl. auftretenden Fehlern. Verbindungen können nicht nur zu IMAP-, sondern auch zu POP- oder NNTP-Servern aufgebaut werden, wobei dann allerdings nicht der gesamte Funktionsumfang zur Verfügung steht. Liefert ein IMAP-Streamhandle oder FALSE bei Fehlern.

Der Name eines Postfachs setzt sich zusammen aus der Bezeichnung des Servers und dem Pfad des Postfachs auf diesem Server. Der spezielle Name INBOX steht dabei als Synonym für das persönliche Postfach des jeweiligen Benutzers. Die Bezeichnung des Servers setzt sich zusammen aus dem eigentlichen Servernamen oder der entsprechenden IP-Adresse sowie das gewünschte Protokoll (getrennt durch '/') und optional der zu benutzende Port (getrennt durch ':'). Die gesamte Serverbezeichnung wird in '{' und '}' eingeschlossen und muß immer mit angegeben werden. Enthält der Name eines Postfachs Zeichen außerhalb des druckbaren ASCII-Bereiches wie z.B. Umlaute oder das 'ß', so muß er mit Hilfe der Funktion imap_utf7_encode() codiert werden.

Der optionale Parameter flags kann sich aus den folgenden Bitmasken zusammensetzen:

Das folgende Beispiel stellt eine Verbindung zu einem lokalen IMAP-Server (IMAP = Port 143) her:

$mbox = imap_open ("{localhost:143}INBOX", "user_id", "password");

Eine Verbindung zu einem lokalen POP3-Server (POP3 = Port 110) erhalten sie mit:

$mbox = imap_open ("{localhost/pop3:110}INBOX", "user_id", "password");

Eine Verbindung zu einem lokalen News-Server (NNTP = Port 119) erhalten Sie mit:

$nntp = imap_open ("{localhost/nntp:119}comp.test", "", "");

Eine Verbindung zu einem nicht lokalen Server können Sie herstellen, indem Sie in den oben genannten Beispielen "localhost" durch den Namen oder die IP-Adresse des Servers ersetzen.

Beispiel 1. imap_open() Beispiel

$mbox = imap_open ("{your.imap.host:143}", "username", "password");

echo "<p><h1>Mailboxes</h1>\n";
$folders = imap_listmailbox ($mbox, "{your.imap.host:143}", "*");
if ($folders == false)
    echo "Call failed<br>\n";
else
    while (list ($key, $val) = each ($folders))
        echo $val . "<br>\n";

echo "<p><h1>Headers in INBOX</h1>\n";
$headers = imap_headers ($mbox);
if ($headers == false)
    echo "Call failed<br>\n";
else
    while (list ($key, $val) = each ($headers))
        echo $val . "<br>n";

imap_close ($mbox);