PHP Handbuch
Zurück |  | Weiter

# imap_open

(PHP 3, PHP 4, PHP 5)

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 muss immer mit angegeben werden. Enthält der Name eines Postfachs Zeichen außerhalb des druckbaren ASCII-Bereiches wie z.B. Umlaute oder das 'ß', so muss er mit Hilfe der Funktion imap_utf7_encode() codiert werden.

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

- OP_READONLY - Über diese Verbindung darf nur lesend zugegriffen werden

- OP_ANONYMOUS - Bei NNTP-Verbindungen wird die Datei .newsrc nicht aktualisiert

- OP_HALFOPEN - es wird eine IMAP- oder NNTP-Verbindung aufgebaut, aber noch kein Postfach ausgewählt

- CL_EXPUNGE - beim Schließen der Verbindung werden alle zum Löschen vorgemerkte Nachrichten endgültig gelöscht (siehe auch imap_delete() und imap_expunge())

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

Zurück | Zum Anfang | Weiter
imap_num_recent | Nach oben | imap_ping