Ir a la documentación
CLI

Correo

Enviar con cualquier cuerpo y adjuntos, leer y buscar en el buzón, responder, archivar hilos y usar bandejas desechables.

Enviar

Terminal
openemail send --to [email protected] --subject "Lunch?" --text "Thursday at noon works for me."

El cuerpo sale de la primera de estas fuentes que exista:

  1. --text y --html, los dos juntos si quieres ambas partes.
  2. --body-file <path>. Un archivo .html o .htm se envía como HTML y cualquier otro como texto, y - lee stdin.
  3. Lo que llegue por stdin. Una entrada que empieza con una etiqueta HTML se envía como HTML.
  4. Tu editor ($VISUAL, y si no $EDITOR), cuando lo ejecutas en un terminal.

Sin --from, la CLI envía desde la única dirección desde la que puedes enviar, o te deja elegir una en un terminal. Sin supervisión y con más de una, se detiene y pide --from. En un terminal ves un resumen y confirmas antes de que salga nada, algo que --yes se salta.

OpciónQué hace
--to, --cc, --bccDestinatarios, separados por comas o repetidos. Ada Lovelace <[email protected]> también funciona
--from, --reply-toLa dirección de envío, y la cabecera Reply-To
-s, --subjectLa línea de asunto
-a, --attach <path>Adjuntar un archivo. Repítelo para más
--at <when>Enviar más tarde: una hora ISO como 2026-10-01T09:00:00Z, o un retraso como 10m, 2h, 1d o PT1H
--undo <seconds>Retener un envío inmediato hasta 900 segundos, para que aún pueda cancelarse
--translate <language>Traducir el correo a este idioma antes de que salga
--template <id>, --props <json>Enviar una plantilla guardada con sus props en lugar de un cuerpo
--draft <id>Enviar un borrador guardado exactamente como se escribió
--thread <id>Archivar el correo enviado en este hilo
--tag <key=value>Etiquetar el correo. Repítelo para más
--idempotency-key <key>Volver a ejecutar el comando con la misma clave nunca envía dos veces
Más envíos
cat report.md | openemail send --to [email protected] --subject "Weekly report" --attach chart.pngopenemail send --to [email protected] --subject "Invoice" --body-file invoice.html --translate de --at 2hopenemail send --to [email protected] --template welcome --props '{"name":"Ada"}' --tag campaign=onboarding

Muestra el id del correo y su estado. sent, partial y failed significan que el envío se intentó dentro de la petición, y queued y scheduled que está retenido. Un envío failed sale con el código 1, y --json muestra el correo completo.

Cada envío lleva una clave de idempotencia, la tuya o una que genera la CLI, así que un reintento tras una conexión caída nunca envía el mensaje dos veces. Pasa la tuya cuando un pipeline pueda repetir el mismo paso.

Adjuntos

--attach admite hasta 20 archivos. Mientras sumen 5 MB o menos en total, viajan dentro del mensaje. Cuando suman más, cada uno se sube primero a Archivos y el mensaje hace referencia a él, así que un archivo grande no necesita ningún paso extra. El tipo de contenido sale de la extensión del archivo.

Bandeja de entrada

Terminal
openemail inboxopenemail inbox --unread --limit 50openemail inbox archive --sort oldestopenemail inbox --all --json | jq -r ".items[].id"

Lista una página de hilos, del más reciente al más antiguo, con cuándo se movió cada uno por última vez, quién escribió el último, el asunto, las etiquetas y el id del hilo. Un punto marca el correo sin leer. La carpeta es la bandeja de entrada salvo que nombres otra: sent, archive, starred, snoozed, spam, trash, draft, o un id de etiqueta como USER_RECEIPTS.

  • -u, --unread conserva los hilos con correo sin leer, -l, --label conserva los hilos que llevan una etiqueta, y -q, --query acota la lista con una búsqueda.
  • -n, --limit fija el tamaño de la página, de 1 a 100 (25 si no dices otra cosa). Si quedan más, el siguiente cursor se muestra en stderr para --cursor, y --all lee cada página.
  • --from-contacts conserva los hilos cuyo mensaje más reciente vino de un contacto guardado, y --sort los ordena por newest, oldest, sender o subject.
  • --json muestra { items, hasMore, nextCursor }, con cada hilo completo.

Leer un hilo

Terminal
openemail read CAHk7pQ2x9LmZ4openemail read CAHk7pQ2x9LmZ4 --message -1openemail read CAHk7pQ2x9LmZ4 --html --message 1 > first.html

Muestra cada mensaje del hilo, del más antiguo al más reciente: quién lo envió y a quién, cuándo, el asunto, los adjuntos con su tamaño e id, y el cuerpo. Una parte de texto plano se muestra tal cual, y un mensaje solo HTML se convierte en texto legible que conserva sus listas, citas, títulos y enlaces. Leer marca el hilo como leído, salvo que pases --no-mark-read.

  • -m, --message <n> muestra un solo mensaje, contando desde 1, o desde el más reciente con un número negativo.
  • --html muestra el HTML sin procesar en su lugar.
  • Un mensaje cifrado no se descifra aquí, así que ábrelo en la app web.

Responder

Terminal
openemail reply CAHk7pQ2x9LmZ4 --text "Thanks, that works for me."openemail reply CAHk7pQ2x9LmZ4 --all --attach notes.pdfecho "Confirmed." | openemail reply CAHk7pQ2x9LmZ4 --yes

Responde en el mismo hilo a quien envió el último mensaje, o a su dirección Reply-To. Cuando el último mensaje es tuyo, la respuesta va a las personas a las que se envió. --all pone en copia a todos los demás de ese mensaje, dejando fuera tus propias direcciones. El asunto recibe Re: si aún no lo tiene, y la respuesta sale de la dirección a la que se entregó el hilo cuando puedes enviar desde ella.

Admite las opciones de cuerpo, adjuntos, programación, traducción, etiquetas e idempotencia de send, junto con --from y --subject, y --to, --cc y --bcc reemplazan a los destinatarios.

Archivar hilos

ComandoQué hace
archive <thread-id...>Fuera de la bandeja de entrada, aún se puede buscar
unarchive <thread-id...>De vuelta a la bandeja de entrada
trash <thread-id...>A la papelera. Pide confirmación, porque ninguna llamada saca un hilo de ella
star, unstarPoner o quitar la estrella
mark read, mark unreadMarcar hilos como leídos o no leídos
snooze <thread-id...> --until <when>Ocultar hilos hasta una hora, o durante un retraso como 3h o 1w. Vuelven en torno a una hora después de ella
unsnoozeTraer de vuelta ahora los hilos pospuestos
label add, remove --label <id>Poner etiquetas a los hilos o quitarlas. openemail labels list muestra los ids

Cada uno admite varios ids de hilo e informa de cada uno. El primer fallo fija el código de salida, y --json muestra { results, succeeded, failed }. Los ids de una búsqueda se encadenan directamente:

Terminal
openemail inbox --query "newer_than:30d from:alerts" --json | jq -r ".items[].id" | xargs openemail archive

Bandejas desechables

openemail temp crea direcciones de vida corta que no necesitan cuenta ni inicio de sesión, ideales para pruebas de registro y códigos de un solo uso. Cada token de bandeja se guarda en ~/.openemail/temp-mail.json, así que los comandos siguientes encuentran una bandeja por su id o dirección, o por sí solos cuando solo tienes una.

Terminal
ADDRESS=$(openemail temp new --ttl 15)openemail temp watch --first --json | jq -r .snippetopenemail temp listopenemail temp readopenemail temp read tinb_4f2a tmail_91c3openemail temp delete --yes
  • temp new muestra solo la dirección en stdout. Vive 60 minutos salvo que --ttl diga otra cosa, hasta 24 horas, y --name y --domain eligen la dirección.
  • temp watch muestra lo que ha llegado y luego comprueba cada 3 segundos hasta que lo detengas o caduque la bandeja. --first se detiene en el primer mensaje, y --json muestra una línea JSON por mensaje.
  • temp read lista los mensajes con una vista previa corta, o muestra un mensaje completo.
  • temp delete elimina la bandeja y su correo al momento. La dirección queda reservada 7 días después de cuando habría terminado su plazo.
  • --inbox-token llega a una bandeja que esta CLI no creó, en temp read, watch y delete.
  • El remitente del correo de una bandeja desechable nunca está verificado.

Tu bandeja de entrada,
en tus propios términos.

Infraestructura de correo para empresas, IA, agentes y correo personal. Creada para escalar, con privacidad y control. Todo lo que el correo debería haber tenido desde el primer día.

OpenEmail

Infraestructura de correo para empresas, IA, agentes y correo personal. Creada para escalar, con privacidad y control. Todo lo que el correo debería haber tenido desde el primer día.

© 2026 OpenEmail. Todos los derechos reservados.