---
agentTools:
  projectIndex: https://kanecode.readme.io/llms.txt
---

# Acceso A Buzones IMAP

\#eBD:IMAP

*Sintaxis:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP SERVER=\"server_address\" [PORT=\"143\"]\nUSERNAME=\"username\" PASSWORD=\"password\" VAR=\"varname\"/>",
      "language": "html"
    }
  ]
}
[/block]

*Acción:*
Conecta con un servidor IMAP y almacena la conexión en la variable varname

*Ejemplo:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP SERVER=\"$my_server_ip\" USERNAME=\"$user\" PASSWORD=\"$pwd\" VAR=\"imap\"/>",
      "language": "html"
    }
  ]
}
[/block]

\#eBD:IMAP\_COPY

*Sintaxis:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_COPY IMAP=\"varname\" ID=\"message_id\"\nFROM=\"INBOX.folder.name\" TO=\"INBOX.folder.other.name\"/>",
      "language": "html"
    }
  ]
}
[/block]

*Acción:*
Copia un mensaje de un mailbox (o carpeta) a otro

*Ejemplo:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_COPY IMAP=\"$imap\" ID=\"$id\" FROM=\"INBOX\" TO=\"INBOX.folder\"/>",
      "language": "html"
    }
  ]
}
[/block]

\#eBD:IMAP\_CREATE

*Sintaxis:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_CREATE IMAP=\"varname\" MAILBOX=\"INBOX.folder.name\" />",
      "language": "html"
    }
  ]
}
[/block]

*Acción:*
Crea una nueva carpeta o mailbox

*Ejemplo:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_CREATE IMAP=\"$imap\" MAILBOX=\"INBOX.other\" />",
      "language": "html"
    }
  ]
}
[/block]

\#eBD:IMAP\_DELETE

*Sintaxis:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_DELETE IMAP=\"varname\" MAILBOX=\"INBOX.folder.name\" [ ID=\"message_id\" ] />",
      "language": "html"
    }
  ]
}
[/block]

*Acción:*
Borra todo un mailbox (o carpeta) o sólo un mensaje de esa carpeta (si se indica el parámetro ID).

*Ejemplo:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_DELETE IMAP=\"$imap\" MAILBOX=\"INBOX.folder\" ID=\"$message_id\"/>",
      "language": "html"
    }
  ]
}
[/block]

\#eBD:IMAP\_GET

*Sintaxis:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_GET IMAP=\"varname\" MAILBOX=\"INBOX.folder.name\"\n[ SEARCH=\"search_hash\" ] [ ID=\"message_id\" ] [ STRINGIFY=\"1|0\" ] VAR=\"[string|list|hash]\"/>",
      "language": "html"
    }
  ]
}
[/block]

*Acción:*
Obtiene la lista de mensages de un mailbox, o descarga el mensaje de ese mailbox identificado con el
parámetro ID. El parámetro *STRINGIFY* indica si el mensaje debe descargarse como una estructura de datos (HASH) o como un string (código fuente del mensaje).

El parámetro *SEARCH* permite realizar búsquedas en el *FROM, TO* o *SUBJECT* de los mensajes, si no se especifica por defecto su valor será 'All'.

*Ejemplo:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_GET IMAP=\"$imap\" MAILBOX=\"INBOX\" VAR=\"headers\"/>\n<eBD:IMAP_GET IMAP=\"$imap\" MAILBOX=\"INBOX\" ID=\"$message_id\" VAR=\"msg_content\"/>\n<eBD:SET VAR=\"search\" INDEX=\"from\" VALUE=\"ebdsoft.com\"/>\n<eBD:SET VAR=\"search\" INDEX=\"to\" VALUE=\"cjuan\"/>\n<eBD:SET VAR=\"search\" INDEX=\"subject\" VALUE=\"this is a message\"/>\n<eBD:IMAP_GET IMAP=\"$imap\" MAILBOX=\"INBOX\" SEARCH=\"$search\" VAR=\"messages\"/>",
      "language": "html"
    }
  ]
}
[/block]

\#eBD:IMAP\_MAILBOXES

*Sintaxis:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_MAILBOXES IMAP=\"varname\" [ MAILBOX=\"INBOX.folder\" ] VAR=\"arrayname\"/>",
      "language": "html"
    }
  ]
}
[/block]

*Acción:*
Devuelve el arbol de mailboxes o carpetas de la raiz, o solo las subcarpetas de una carpeta concreta (si se identifica con el parámetro *MAILBOX*).

*Ejemplo:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_MAILBOXES IMAP=\"$imap\" VAR=\"foldertree\"/>\n<eBD:IMAP_MAILBOXES IMAP=\"$imap\" MAILBOX=\"INBOX.folder\" VAR=\"subfolders\"/>",
      "language": "html"
    }
  ]
}
[/block]

\#eBD:IMAP\_RENAME

*Sintaxis:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_RENAME IMAP=\"varname\" MAILBOX=\"INBOX.folder.name\" TO=\"INBOX.folder.other\"/>",
      "language": "html"
    }
  ]
}
[/block]

*Acción:*
Renombra un mailbox o carpeta

*Ejemplo:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_RENAME IMAP=\"$imap\" MAILBOX=\"INBOX.folder.name\" TO=\"INBOX.folder.other\"/>",
      "language": "html"
    }
  ]
}
[/block]

\#eBD:IMAP\_LOGOUT

*Sintaxis:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_LOGOUT IMAP=\"varname\"/>",
      "language": "html"
    }
  ]
}
[/block]

*Acción:*
Cierra la conexión con el servidor *IMAP*.

*Ejemplo:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_LOGOUT IMAP=\"$imap\"/>",
      "language": "html"
    }
  ]
}
[/block]

\#eBD:IMAP\_FLAGS

*Sintaxis:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_FLAGS IMAP=\"varname\" MAILBOX=\"INBOX.folder.name\" ID=\"message_id\"\nADD=\"\\Seen|\\Draft|\\Answered|\\Flagged|\\Deleted|\\Recent|my_label_1\"\nREMOVE=\"\\Seen|\\Draft|\\Answered|\\Flagged|\\Deleted|\\Recent|my_label_1\"/>",
      "language": "html"
    }
  ]
}
[/block]

*Acción:*
Modifica el estatus de los flags de los mensajes. Pueden ser flags definidos por el usuario o del sistema (que empiezan por una barra invertida), estos puedes ser:
*\Seen \Answered \Flagged \Deleted \Draft \Recent*

*Ejemplo:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_FLAGS IMAP=\"$imap\" MAILBOX=\"INBOX\" ID=\"$message_id\" ADD=\"\\Seen,my_label_1\"\nREMOVE=\"\\Answered,my_label_2\"/>",
      "language": "html"
    }
  ]
}
[/block]

\#eBD:IMAP\_STATUS

*Sintaxis:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_STATUS IMAP=\"varname\" MAILBOX=\"INBOX.folder.name\" VAR=\"hashname\"/>",
      "language": "html"
    }
  ]
}
[/block]

*Acción:*
Devuelve el número total de emails en la carpeta y el número de emails no leidos.

*Ejemplo:*

[block:code]
{
  "codes": [
    {
      "code": "<eBD:IMAP_STATUS IMAP=\"$imap\" MAILBOX=\"INBOX\" VAR=\"num_of_messages\"/>",
      "language": "html"
    }
  ]
}
[/block]