Forum und email

Funciones IMAP, POP3 y NNTP

Introducción

Estas funciones le permiten operar con el protocolo IMAP, así como con métodos de acceso a NNTP, POP3 y buzones de correo local.

Tenga en cuenta sin embargo, que algunas funciones IMAP no funcionarán correctamente con el protocolo POP.

Requisitos

Esta extensión requiere que la biblioteca c-client se encuentre instalada. Obtenga la versión más reciente de » ftp://ftp.cac.washington.edu/imap/ y compílela.

Es importante que no copie los archivos fuente IMAP directamente al directorio de inclusiones del sistema ya que puede crear conflictos. En su lugar, cree un nuevo directorio al interior del directorio de inclusiones del sistema, tal como /usr/local/imap-2000b/ (la ubicación y nombre dependen de su configuración y versión de IMAP), y al interior de este directorio nuevo cree los directorios adicionales con nombres lib/ e include/. Desde el directorio c-client de su árbol de fuentes IMAP, copie todos los archivos *.h en include/ y todos los *.c en lib/. Adicionalmente, cuando haya compilado IMAP, un archivo llamado c-client.a es creado. Coloque también este archivo en el directorio lib/, pero cambie su nombre a libc-client.a.

Note: Para compilar la biblioteca c-client con soporte SSL o Kerberos, lea la documentación que viene con el paquete.

Note: En Mandrake Linux, la biblioteca IMAP (libc-client.a) es compilada sin soporte para Kerberos. Una versión aparte con SSL (client-PHP4.a) es instalada. La biblioteca debe ser recompilada para agregar soporte Kerberos.

Instalación

To get these functions to work, you have to compile PHP with --with-imap[=DIR], where DIR is the c-client install prefix. From our example above, you would use --with-imap=/usr/local/imap-2000b. This location depends on where you created this directory according to the description above. Windows users may include the php_imap.dll DLL in php.ini. IMAP is not supported on systems earlier that Windows 2000. This is because it uses encryption functions in order to enable SSL connections to the mail servers.

Note: Depending how the c-client was configured, you might also need to add --with-imap-ssl=/path/to/openssl/ and/or --with-kerberos=/path/to/kerberos into the PHP configure line.

Warning

La extensión IMAP no puede ser usada junto con las extensiones recode, YAZ ó Cyrus. Esto es debido a que las dos utilizan el mismo símbolo interno

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

NIL (integer)
OP_DEBUG (integer)
OP_READONLY (integer)
Open mailbox read-only
OP_ANONYMOUS (integer)
Don't use or update a .newsrc for news (NNTP only)
OP_SHORTCACHE (integer)
OP_SILENT (integer)
OP_PROTOTYPE (integer)
OP_HALFOPEN (integer)
For IMAP and NNTP names, open a connection but don't open a mailbox.
OP_EXPUNGE (integer)
OP_SECURE (integer)
CL_EXPUNGE (integer)
silently expunge the mailbox before closing when calling imap_close()
FT_UID (integer)
The parameter is a UID
FT_PEEK (integer)
Do not set the \Seen flag if not already set
FT_NOT (integer)
FT_INTERNAL (integer)
The return string is in internal format, will not canonicalize to CRLF.
FT_PREFETCHTEXT (integer)
ST_UID (integer)
The sequence argument contains UIDs instead of sequence numbers
ST_SILENT (integer)
ST_SET (integer)
CP_UID (integer)
the sequence numbers contain UIDS
CP_MOVE (integer)
Delete the messages from the current mailbox after copying with imap_mail_copy()
SE_UID (integer)
Return UIDs instead of sequence numbers
SE_FREE (integer)
SE_NOPREFETCH (integer)
Don't prefetch searched messages
SO_FREE (integer)
SO_NOSERVER (integer)
SA_MESSAGES (integer)
SA_RECENT (integer)
SA_UNSEEN (integer)
SA_UIDNEXT (integer)
SA_UIDVALIDITY (integer)
SA_ALL (integer)
LATT_NOINFERIORS (integer)
This mailbox has no "children" (there are no mailboxes below this one).
LATT_NOSELECT (integer)
This is only a container, not a mailbox - you cannot open it.
LATT_MARKED (integer)
This mailbox is marked. Only used by UW-IMAPD.
LATT_UNMARKED (integer)
This mailbox is not marked. Only used by UW-IMAPD.
SORTDATE (integer)
Sort criteria for imap_sort(): message Date
SORTARRIVAL (integer)
Sort criteria for imap_sort(): arrival date
SORTFROM (integer)
Sort criteria for imap_sort(): mailbox in first From address
SORTSUBJECT (integer)
Sort criteria for imap_sort(): message subject
SORTTO (integer)
Sort criteria for imap_sort(): mailbox in first To address
SORTCC (integer)
Sort criteria for imap_sort(): mailbox in first cc address
SORTSIZE (integer)
Sort criteria for imap_sort(): size of message in octets
TYPETEXT (integer)
TYPEMULTIPART (integer)
TYPEMESSAGE (integer)
TYPEAPPLICATION (integer)
TYPEAUDIO (integer)
TYPEIMAGE (integer)
TYPEVIDEO (integer)
TYPEOTHER (integer)
ENC7BIT (integer)
ENC8BIT (integer)
ENCBINARY (integer)
ENCBASE64 (integer)
ENCQUOTEDPRINTABLE (integer)
ENCOTHER (integer)
IMAP_OPENTIMEOUT (integer)
IMAP_READTIMEOUT (integer)
IMAP_WRITETIMEOUT (integer)
IMAP_CLOSETIMEOUT (integer)
LATT_REFERRAL (integer)
LATT_HASCHILDREN (integer)
LATT_HASNOCHILDREN (integer)
TYPEMODEL (integer)

Ver también

Este documento no puede entrar en detalles sobre todos los temas que involucran lan funciones ofrecidas. Puede encontrar más información en la documentación de las fuentes de la biblioteca c-client (docs/internal.txt), y en los siguientes documentos RFC:

Una vista general detallada se encuentra disponible también en los libros » Programming Internet Email por David Wood y » Managing IMAP por Dianna Mullet y Kevin Mullet.

Table of Contents