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

  • imap_8bit — Convertir una cadena 8bit a una cadena quoted-printable
  • imap_alerts — Devuelve todos los mensajes de alerta IMAP que hayan ocurrido
  • imap_append — Anexa un mensaje tipo cadena al buzón especificado
  • imap_base64 — Decodificar un texto cifrado con BASE64
  • imap_binary — Convertir una cadena 8bit a una cadena base64
  • imap_body — Leer el cuerpo del mensaje
  • imap_bodystruct — Read the structure of a specified body section of a specific message
  • imap_check — Chequear el buzón de correo actual
  • imap_clearflag_full — Limpia las banderas de los mensajes
  • imap_close — Cerrar una secuencia IMAP
  • imap_createmailbox — Crear un nuevo buzón de correo
  • imap_delete — Marcar un mensaje para su borrado del buzón actual
  • imap_deletemailbox — Elimina un buzón
  • imap_errors — Esta función devuelve todos los errores IMAP (si hubo) que han occurrido durante la petición de la página o desde que la pila de errores se inicializó.
  • imap_expunge — Elimina todos los mensajes marcados como borrados
  • imap_fetch_overview — Read an overview of the information in the headers of the given message
  • imap_fetchbody — Localiza una sección particular en el cuerpo del mensaje
  • imap_fetchheader — Devuelve la cabecera de un mensaje
  • imap_fetchstructure — Leer la estructura de una mensaje particular
  • imap_get_quota — Retrieve the quota level settings, and usage statics per mailbox
  • imap_get_quotaroot — Retrieve the quota settings per user
  • imap_getacl — Gets the ACL for a given mailbox
  • imap_getmailboxes — Lee la lista de buzones, devolviendo informacón detallada de cada uno
  • imap_getsubscribed — Lista todos los buzones subscritos
  • imap_header — Lee la cabecera del mensaje
  • imap_headerinfo — Read the header of the message
  • imap_headers — Returns headers for all messages in a mailbox
  • imap_last_error — Esta función devuelve el último error IMAP (si se produjo) que ocurrió durante la petición de esta página.
  • imap_list — Read the list of mailboxes
  • imap_listmailbox — Lee la lista de buzones
  • imap_listscan — Returns the list of mailboxes that matches the given text
  • imap_listsubscribed — Lista todos los buzones subscritos
  • imap_lsub — List all the subscribed mailboxes
  • imap_mail_compose — Create a MIME message based on given envelope and body sections
  • imap_mail_copy — Copia los mensajes especificados a un buzón
  • imap_mail_move — Mueve los mensajes especificados a un buzón
  • imap_mail — Send an email message
  • imap_mailboxmsginfo — Obtiene información acerca del buzón actual
  • imap_mime_header_decode — Decode MIME header elements
  • imap_msgno — Esta función devuelve el número de secuencia del mensaje para el UID dado.
  • imap_num_msg — Informa del número de mensajes en el buzón actual
  • imap_num_recent — Informa el número de mensajes recientes en el buzón actual
  • imap_open — Abre una sesión IMAP
  • imap_ping — Comprueba si la sesión IMAP está aún activa
  • imap_qprint — Convierte una cadena quoted-printable a una cadena de 8 bit
  • imap_renamemailbox — Renombra un buzón
  • imap_reopen — Reabre una sesión IMAP a un nuevo buzón
  • imap_rfc822_parse_adrlist — Examina la cadena dirección
  • imap_rfc822_parse_headers — Parse mail headers from a string
  • imap_rfc822_write_address — Devuleve una dirección de correo correctamente formateada dado el buzón, host, e información personal.
  • imap_savebody — Save a specific body section to a file
  • imap_scanmailbox — Lee la lista de buzones y toma una cadena para buscar en el texto del buzón
  • imap_search — Esta función devuelve un array de mensajes que coinciden con el criterio de busqueda dado.
  • imap_set_quota — Sets a quota for a given mailbox
  • imap_setacl — Sets the ACL for a giving mailbox
  • imap_setflag_full — Activa flags en los mensajes
  • imap_sort — Ordena un array de cabeceras de mensajes
  • imap_status — Esta función devuelve el información de estado de otro buzón distinto al actual.
  • imap_subscribe — Subscribe to a mailbox
  • imap_thread — Returns a tree of threaded message
  • imap_timeout — Set or fetch imap timeout
  • imap_uid — Esta función devuelve el UID del número de secuencia del mensaje dado
  • imap_undelete — Desmarca los mensajes que están marcados como borrados
  • imap_unsubscribe — Unsubscribe from a mailbox
  • imap_utf7_decode — Decodes a modified UTF-7 encoded string
  • imap_utf7_encode — Converts ISO-8859-1 string to modified UTF-7 text
  • imap_utf8 — Converts MIME-encoded text to UTF-8