imap_open

(PHP3 , PHP4 )

imap_open -- Open an IMAP stream to a mailbox

Description

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

Returns an IMAP stream on success and false on error. This function can also be used to open streams to POP3 and NNTP servers, but some functions and features are not available on IMAP servers.

A mailbox name consists of a server part and a mailbox path on this server. The special name INBOX stands for the current users personal mailbox. The server part, which is enclosed in '{' and '}', consists of the servers name or ip address, a protocol secification (beginning with '/') and an optional port specifier beginnung with ':'. The server part is mandatory in all mailbox parameters. Mailbos names that contain international characters besides those in the printable ASCII space have to be encoded with imap_utf7_encode().

The options are a bit mask with one or more of the following:

To connect to an IMAP server running on port 143 on the local machine, do the following:

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

To connect to a POP3 server on port 110 on the local server, use:


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

To connect to an NNTP server on port 119 on the local server, use:


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

To connect to a remote server replace "localhost" with the name or the IP address of the server you want to connect to.

Example 1. imap_open() example


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