Para developers

Arca habla JMAP.
El estándar abierto para correo.

JMAP (RFC 8620/8621) es el estándar IETF moderno que reemplaza a IMAP: JSON sobre HTTPS, sincronización eficiente y push. Tu buzón Arca ya lo expone. Sin SDKs propietarios y sin lock-in.

Empezar en 2 minutos

Tres pasos y un curl.

  1. Crea una contraseña de aplicación. En Arca ve a Ajustes → Seguridad → Contraseñas de aplicación, presiona “Agregar dispositivo”, ponle un nombre y “Generar contraseña”. Copia la contraseña — solo se muestra una vez.

  2. Obtén la sesión JMAP. Reemplaza tu@dominio.mx y CONTRASEÑA:

    curl -u tu@dominio.mx:CONTRASEÑA \
      https://jmap.arca.email/.well-known/jmap

    La respuesta incluye capabilities, accounts, primaryAccounts y las URLs que usará tu cliente: apiUrl, downloadUrl, uploadUrl y eventSourceUrl. En producción apiUrl se publica como https://jmap.arca.email:443/jmap/ (el :443 es equivalente a la URL sin puerto; los clientes la usan tal cual).

  3. Lee tus carpetas y correos. Reemplaza <accountId> por el valor que devolvió la sesión:

    curl -u tu@dominio.mx:CONTRASEÑA \
      -H 'content-type: application/json' \
      -X POST https://jmap.arca.email/jmap/ \
      -d '{
        "using": ["urn:ietf:params:jmap:core","urn:ietf:params:jmap:mail"],
        "methodCalls": [
          ["Mailbox/get", {"accountId": "<accountId>", "ids": null}, "0"],
          ["Email/query", {
            "accountId": "<accountId>",
            "limit": 5,
            "calculateTotal": true,
            "sort": [{"property":"receivedAt","isAscending":false}]
          }, "1"]
        ]
      }'
Autodiscovery

Tu dominio apunta a Arca.

Si Arca administra tu DNS, publicamos automáticamente el registro SRV que los clientes JMAP usan para descubrir el servidor (RFC 8620 §2.2).

dig +short SRV _jmap._tcp.tu-dominio.mx @1.1.1.1
0 1 443 jmap.arca.email.

Si gestionas tu DNS manualmente, agrega este registro SRV: _jmap._tcp.tu-dominio.mx → prioridad 0, peso 1, puerto 443, destino jmap.arca.email.

Clientes compatibles

Usa el cliente que quieras.

Cualquier cliente JMAP que soporte autenticación HTTP Basic y las capacidades urn:ietf:params:jmap:core y urn:ietf:params:jmap:mail debería funcionar contra jmap.arca.email.

Verificado en vivo con curl contra buzones de producción: /.well-known/jmap, Mailbox/get, Email/query y Email/get responden correcto.

  • aerc v0.21.0 — verificado contra Arca: carga carpetas, abre mensajes, descarga adjuntos y envía. Config mínima en ~/.config/aerc/accounts.conf:
    [Arca]
    source      = jmap://t%40dominio.mx:CONTRASEÑA@jmap.arca.email/.well-known/jmap
    outgoing    = jmap://
    default     = Inbox
    from        = Tu Nombre <tu@dominio.mx>
    cache-state = true
    copy-to     = Sent Items
  • Mailtemi, Twake Mail y otros clientes móviles JMAP — reportados compatibles con el estándar, aún no validados contra Arca. Si usas uno, cuéntanos en hola@arca.email.
Límites y letras grandes

Lo que sí y lo que no.

  • Autenticación: usas la misma contraseña de aplicación que para IMAP/SMTP. Es revocable por dispositivo desde Ajustes → Seguridad.
  • Rate limits: 50 peticiones / 10 s por IP en jmap.arca.email, aplicadas en el borde. El servidor no expone control de tasa sobre HTTP; el abuso de autenticación se contiene en el host.
  • EventSource / push: el proxy del borde corta conexiones ociosas después de ~100 s. Usa ping=30 (o menos) para mantenerla viva.
  • Capacidades: la sesión en vivo anuncia urn:ietf:params:jmap:core, :mail, :submission, :vacationresponse, calendario/contactos y otras extensiones del servidor. No asumas funcionalidades más allá de lo que devuelva /.well-known/jmap.
  • Carpeta Enviados: los correos enviados desde un cliente JMAP (p. ej. aerc) aparecen en Sent Items si el cliente copia allí al enviar. Los enviados desde la app web de Arca siguen su propio path de outbound; verifica en vivo si los necesitas ver por JMAP.
  • Zero-knowledge: no hacemos esa promesa. Arca procesa tu contenido para búsqueda y asistente de IA, siempre en infraestructura que controlamos.