Manejo de mailboxes con php

int=imap_createmailbox (mail_handler string_mbox)

String mbox debe estar codificado con imap_utf7_encode() y el formato del string es el mismo que en imap_open.

Ejemplo:

Example 1. imap_createmailbox() example
1
2 $mbox = imap_open(“{your.imap.host}”,”username”,”password”,OP_HALFOPEN)
3 || die(“can’t connect: “.imap_last_error());
4
5 $name1 = “phpnewbox”;
6 $name2 = imap_utf7_encode(“phpnewböx”);
7
8 $newname = $name1;
9
10 echo “Newname will be ‘$name1′
\n”;
11
12 # we will now create a new mailbox “phptestbox” in your inbox folder,
13 # check its status after creation and finaly remove it to restore
14 # your inbox to its initial state
15 if(@imap_createmailbox($mbox,imap_utf7_encode(“{your.imap.host}INBOX.$newname”))) {
16 $status = @imap_status($mbox,”{your.imap.host}INBOX.$newname”,SA_ALL);
17 if($status) {
18 print(“your new mailbox ‘$name1′ has the following status:
\n”);
19 print(“Messages: “. $status->messages ).”
\n”;
20 print(“Recent: “. $status->recent ).”
\n”;
21 print(“Unseen: “. $status->unseen ).”
\n”;
22 print(“UIDnext: “. $status->uidnext ).”
\n”;
23 print(“UIDvalidity:”. $status->uidvalidity).”
\n”;
24
25
if(imap_renamemailbox($mbox,”{your.imap.host}INBOX.$newname”,”{your.imap.host}INBOX.$name2″)) {
26 echo “renamed new mailbox from ‘$name1′ to ‘$name2′
\n”;
27 $newname=$name2;
28 } else {
29 print “imap_renamemailbox on new mailbox failed: “.imap_last_error().”
\n”;
30 }
31 } else {
32 print “imap_status on new mailbox failed: “.imap_last_error().”
\n”;
33 }
34 if(@imap_deletemailbox($mbox,”{your.imap.host}INBOX.$newname”)) {
35 print “new mailbox removed to restore initial state
\n”;
36 } else {
37 print “imap_deletemailbox on new mailbox failed:
“.implode(“
\n”,imap_errors()).”
\n”;
38 }
39
40 } else {
41 print “could not create new mailbox: “.implode(“
\n”,imap_errors()).”
\n”;
42 }
43
44 imap_close($mbox);
45

Devuelve true si pudo crear el mailbox o false en caso contrario.

int=imap_deletemailbox (mail_handler, string_mbox);

Elimina el mailbox indicado, el formato de mbox es el mismo que en imap_open.

int=imap_renamemailbox (mail_handler, string_old_mbox, string_new_mbox)

Permite renombrar un mailbox, el nombre del mailbox debe estar en el mismo formato que en imap_open.

obj_array=imap_getmailboxes (mail_stream, string_ref, string_pattern)

Devuelve un vector de objetos con información sobre los mailboxes

Los objetos que se encuentran en el vector tienen seteados los siguientes data_members:

- name – Nombre del mailbox (completo) encodeado, decodificar con imap_utf7_decode()
- delimiter – Delimitador usado para separar la jerarquía de mailboxes
- attributes – Es un bitmask que puede compararse con:
- LATT_NOINFERIORS (el mailbox no tiene subcarpetas)
- LATT_NOSELECT (es un mailbox no seleccionable)
- LATT_MARKED (mailbox marcado)
- LATT_UNMARKED (mailbox no marcado)

object=imap_status (mail_handler, string_mailbox, SA_ALL)

SA_ALL es una constante para recuperar toda la información sobre el mailbox, devuelve un objeto con los siguientes data members seteados:

- messages – número de mensajes en el mailbox
- recent – número de mensajes recientes en el mailbox
- unseen – número de mensajes no vistos en el mailbox

int imap_num_msg (mail_handler)

Devuelve el número de mensajes en el mailbox actual. (El abierto por el mail_handler)

int imap_num_recent (mail_handler)

Devuelve el número de mensajes recientes del mailbox correspondiente a mail_handler.

Fuente: Documento Generación de web sites dinámicos usando PHP

Etiquetado con:
Publicado en: Informática



Te avisamos en tu email cuando haya un nuevo Curso gratis: