Descargar

Línea de comandos (vista previa para desarrolladores)

El comando foldmail: su estado actual, comandos, opciones, archivos de reglas y códigos de salida.

Vista previa para desarrolladores. foldmail no viene incluido en la app FOLD. Actualmente existe como compilación a partir del código fuente de FOLD para desarrollo y pruebas. Trabaja con su propio almacén de datos local, no con los datos de la app FOLD, que el sandbox de macOS mantiene en el contenedor de la app. Por eso, la línea de comandos no ve el correo que tienes en la app, y el correo que pone en cola no lo envía la app. Sus mensajes y su texto de ayuda están actualmente en alemán.

Esta página describe lo que hace hoy la vista previa. Los comandos, las opciones y la salida pueden cambiar antes de que se publique la línea de comandos.

Comandos

ComandoQué hace
foldmail accountsEnumera las cuentas
foldmail mailboxes --account <name>Enumera las carpetas de una cuenta con el número de mensajes no leídos y el total
foldmail search <query>Busca con la sintaxis de búsqueda; list es un alias
foldmail read <id>Muestra un mensaje; --headers omite el texto. Si no hay un cuerpo guardado localmente, se muestra la vista previa
foldmail flag <id…> --add <flag> --remove <flag>Establece o quita indicadores y etiquetas, por ejemplo \Seen, \Flagged o important; ambas opciones se pueden repetir
foldmail delete <id…>Quita mensajes del almacén local; se requieren ID explícitos
foldmail compose --from <addr> --to <addr>Construye el mensaje y lo escribe en la salida estándar
foldmail send --account <name> --from <addr> --to <addr>Igual que compose --enqueue: pone el mensaje en la bandeja de salida
foldmail outbox list --account <name>Enumera la bandeja de salida
foldmail outbox cancel <id>Vuelve a sacar de la bandeja de salida un mensaje en espera
foldmail filter run --rules <file>Ejecuta un archivo de reglas; vista previa salvo que se indique --apply
foldmail helpMuestra la ayuda; foldmail sin argumentos hace lo mismo

La línea de comandos no envía correo por sí misma. send y compose --enqueue solo ponen el mensaje en la bandeja de salida de la línea de comandos; foldmail no lo entrega, y la app FOLD no lee esa bandeja de salida. La ayuda integrada aún muestra sus ejemplos con fold; el comando es foldmail.

Opciones

OpciónSe usa conSignificado
--jsontodosSalida en JSON (con sangría, claves ordenadas, fechas ISO 8601). La estructura aún no tiene versión
--quiettodosSolo los ID, o solo el número de mensajes modificados
--limit <n>searchNúmero máximo de resultados, 100 por defecto
--offset <n>searchOmite los n primeros resultados
--account <name>mailboxes, send, compose --enqueue, outbox listNombre visible o dirección de la cuenta
--headersreadSolo los encabezados
--add, --remove <flag>flagIndicador o etiqueta que se establece o se quita
--from, --to, --cc, --bcc, --subject, --bodycompose, sendCampos del mensaje; --to, --cc y --bcc se pueden repetir. Sin --body, los argumentos restantes forman el texto
--enqueuecomposePone en cola en lugar de imprimir
--delay <seconds>send, compose --enqueueEspera antes de enviar, como margen para deshacer
--rules <file>filter runArchivo de reglas en JSON
--applyfilter runAplica las reglas en lugar de mostrar una vista previa

En la línea de comandos, account: y from-account: filtran por el nombre visible o la dirección de la cuenta. in: tampoco tiene efecto aquí.

Pasa una consulta como un único argumento entre comillas. Un argumento independiente que empieza por un signo menos se interpreta como opción y se descarta, así que escribe foldmail search 'from:anna -is:read', o pon -- delante de una consulta que empiece por un signo menos: foldmail search -- '-is:read'.

Archivos de reglas

filter run lee reglas con la misma estructura que las reglas de filtro de la app, escritas en JSON:

{
  "schemaVersion": 1,
  "rules": [
    {
      "name": "Newsletters",
      "match": "from:[email protected]",
      "actions": [{ "type": "markRead" }, { "type": "addFlag", "flag": "newsletter" }],
      "stopOnMatch": false
    }
  ]
}

Tipos de acción: markRead, markUnread, addFlag y removeFlag (con flag), delete, move (con mailbox), forward (con to, una lista) y autoReply (con body). Con --apply, un archivo de reglas que contiene move, forward o autoReply se rechaza antes de que cambie nada; la vista previa sigue mostrando sus coincidencias.

Códigos de salida

CódigoSignificado
0Éxito
1Error general, por ejemplo: no se puede abrir el almacén, un operador de búsqueda no es compatible (has:attachment), el cuerpo o un archivo adjunto de un mensaje no están disponibles, o una entrada de la bandeja de salida ya no se puede cancelar
2Error de uso: comando desconocido, falta una opción o el valor de una opción, archivo de reglas ilegible, consulta o ID de mensaje no válidos
3No se encontró nada: resultado vacío, mensaje o carpeta desconocidos, o ninguna regla coincidió
4Los datos del mensaje están incompletos o son ilegibles

Si una cuenta del almacén de la línea de comandos usa el modo Fortress, foldmail se niega a ejecutarse y sale con 1, así que nunca escribe datos sin cifrar en un almacén cifrado.

Ejemplos

foldmail search 'from:anna is:unread' --json
foldmail search 'is:unread' --quiet | xargs foldmail flag --add '\Seen'
foldmail compose --from [email protected] --to [email protected] --subject Hi --body 'Test' > mail.eml
foldmail filter run --rules ~/rules.json
foldmail filter run --rules ~/rules.json --apply