imap_open
Open an IMAP stream to a mailbox
&reftitle.description;
resourceimap_open
stringmailbox
stringusername
stringpassword
intoptions0
intn_retries0
arrayparams&null;
Opens an IMAP stream to a mailbox.
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.
&reftitle.parameters;
mailbox
A mailbox name consists of a server and a mailbox path on this server.
The special name INBOX stands for the current users
personal mailbox. Mailbox names that contain international characters
besides those in the printable ASCII space have to be encoded width
imap_utf7_encode.
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.
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)
username
The user name
password
The password associated with the username
options
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_SECURE - Don't do non-secure authentication
n_retries
Number of maximum connect attempts
params
Connection parameters, the following (string) keys maybe used
to set one or more connection parameters:
DISABLE_AUTHENTICATOR - Disable authentication properties
&reftitle.returnvalues;
Returns an IMAP stream on success or &false; on error.
&reftitle.changelog;
&Version;
&Description;
5.3.2
params added
5.2.0
n_retries added
&reftitle.examples;
Different use of imap_open
]]>
imap_open example
Mailboxes\n";
$folders = imap_listmailbox($mbox, "{imap.example.org:143}", "*");
if ($folders == false) {
echo "Call failed
\n";
} else {
foreach ($folders as $val) {
echo $val . "
\n";
}
}
echo "Headers in INBOX
\n";
$headers = imap_headers($mbox);
if ($headers == false) {
echo "Call failed
\n";
} else {
foreach ($headers as $val) {
echo $val . "
\n";
}
}
imap_close($mbox);
?>
]]>
&reftitle.seealso;
imap_close