imap_open
Open an IMAP stream to a mailbox
Description
resourceimap_open
stringmailbox
stringusername
stringpassword
intoptions
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 only 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, an optional port
(prefixed by ':'), and an optional protocol specification (prefixed
by '/'). The server part is mandatory in all mailbox
parameters. Mailbox names that contain international characters
besides those in the printable ASCII space have to be encoded
with imap_utf7_encode.
All names which start with { are remote names, and are
in the form "{" remote_system_name [":" port] [flags] "}"
[mailbox_name] where:
remote_system_name - Internet domain name or
bracketed IP address of server.
port - optional TCP port number, default is the
default port for that service
flags - optional flags, see following table.
mailbox_name - remote mailbox name, default is INBOX
Optional flags for names
Flag
Description
/service=service
mailbox access service, default is "imap"
/user=user
remote user name for login on the server
/authuser=user
remote authentication user; if specified this is the user name
whose password is used (e.g. administrator)
/anonymous
remote access as anonymous user
/debug
record protocol telemetry in application's debug log
/secure
do not transmit a plaintext password over the network
/imap, /imap2,
/imap2bis, /imap4,
/imap4rev1
equivalent to /service=imap
/pop3
equivalent to /service=pop3
/nntp
equivalent to /service=nntp
/norsh
do not use rsh or ssh to establish a preauthenticated IMAP
session
/ssl
use the Secure Socket Layer to encrypt the session
/validate-cert
validate certificates from TLS/SSL server (this is the default
behavior)
/novalidate-cert
do not validate certificates from TLS/SSL server, needed if
server uses self-signed certificates
/tls
force use of start-TLS to encrypt the session, and reject
connection to servers that do not support it
/notls
do not do start-TLS to encrypt the session, even with servers
that support it
/readonly
request read-only mailbox open (IMAP only; ignored on NNTP, and
an error with SMTP and POP3)
The options are a bit mask with one or more of the following:
OP_READONLY - Open mailbox read-only
OP_ANONYMOUS - Don't use or update a
.newsrc for news (NNTP only)
OP_HALFOPEN - For IMAP and NNTP names, open a connection but
don't open a mailbox.
CL_EXPUNGE - Expunge mailbox automatically upon mailbox close
(see also imap_delete and
imap_expunge)
OP_DEBUG - Debug protocol negotiations
OP_SHORTCACHE - Short (elt-only) caching
OP_SILENT - Don't pass up events (internal use)
OP_PROTOTYPE - Return driver prototype
OP_EXPUNGE - Silently expunge recycle stream
OP_SECURE - Don't do non-secure authentication
Different use of imap_open
]]>
imap_open example
Mailboxes\n";
$folders = imap_listmailbox($mbox, "{your.imap.host:143}", "*");
if ($folders == false) {
echo "Call failed
\n";
} else {
while (list ($key, $val) = each($folders)) {
echo $val . "
\n";
}
}
echo "Headers in INBOX
\n";
$headers = imap_headers($mbox);
if ($headers == false) {
echo "Call failed
\n";
} else {
while (list ($key, $val) = each ($headers)) {
echo $val . "
\n";
}
}
imap_close($mbox);
?>
]]>