Download

Linha de comando (prévia para desenvolvedores)

O comando foldmail: seu estado atual, comandos, opções, arquivos de regras e códigos de saída.

Prévia para desenvolvedores. O foldmail não está incluído no app FOLD. Hoje ele existe como um build a partir do código-fonte do FOLD, para desenvolvimento e testes. Ele trabalha com o próprio armazenamento local de dados, não com os dados do app FOLD, que o sandbox do macOS mantém no contêiner do app. Por isso, a linha de comando não vê os e-mails que você tem no app, e os e-mails que ela coloca na fila não são enviados pelo app. As mensagens e o texto de ajuda dela estão atualmente em alemão.

Esta página descreve o que a prévia faz hoje. Comandos, opções e saída podem mudar antes do lançamento da linha de comando.

Comandos

ComandoO que faz
foldmail accountsLista as contas
foldmail mailboxes --account <name>Lista as pastas de uma conta com o número de não lidas e o total
foldmail search <query>Busca com a sintaxe de busca; list é um alias
foldmail read <id>Mostra uma mensagem; --headers omite o texto. Sem um corpo guardado localmente, a prévia é exibida
foldmail flag <id…> --add <flag> --remove <flag>Define ou remove sinalizações e etiquetas, por exemplo \Seen, \Flagged ou important; as duas opções podem ser repetidas
foldmail delete <id…>Remove mensagens do armazenamento local; IDs explícitos são obrigatórios
foldmail compose --from <addr> --to <addr>Monta a mensagem e a grava na saída padrão
foldmail send --account <name> --from <addr> --to <addr>Igual a compose --enqueue: coloca a mensagem na caixa de saída
foldmail outbox list --account <name>Lista a caixa de saída
foldmail outbox cancel <id>Retira uma mensagem em espera da caixa de saída
foldmail filter run --rules <file>Executa um arquivo de regras; apenas prévia, a menos que --apply seja informado
foldmail helpMostra a ajuda; foldmail sem argumentos faz o mesmo

A linha de comando não envia e-mails por conta própria. send e compose --enqueue apenas colocam a mensagem na caixa de saída da linha de comando; o foldmail não a entrega, e o app FOLD não lê essa caixa de saída. A ajuda integrada ainda mostra os exemplos com fold; o comando é foldmail.

Opções

OpçãoUsada comSignificado
--jsontodosSaída em JSON (indentada, chaves ordenadas, datas ISO 8601). A estrutura ainda não é versionada
--quiettodosSomente IDs, ou somente o número de mensagens alteradas
--limit <n>searchNúmero máximo de resultados, padrão 100
--offset <n>searchPula os primeiros n resultados
--account <name>mailboxes, send, compose --enqueue, outbox listNome de exibição ou endereço da conta
--headersreadSomente cabeçalhos
--add, --remove <flag>flagSinalização ou etiqueta a definir ou remover
--from, --to, --cc, --bcc, --subject, --bodycompose, sendCampos da mensagem; --to, --cc, --bcc podem ser repetidos. Sem --body, os argumentos restantes formam o texto
--enqueuecomposeColoca na fila em vez de imprimir
--delay <seconds>send, compose --enqueueEspera antes de enviar, como prazo para desfazer
--rules <file>filter runArquivo de regras em JSON
--applyfilter runAplica as regras em vez de mostrar a prévia

Na linha de comando, account: e from-account: filtram pelo nome de exibição ou pelo endereço da conta. in: também não tem efeito aqui.

Passe uma consulta como um único argumento entre aspas. Um argumento separado que começa com um sinal de menos é lido como opção e descartado, então escreva foldmail search 'from:anna -is:read' ou coloque -- antes de uma consulta que começa com um sinal de menos: foldmail search -- '-is:read'.

Arquivos de regras

filter run lê regras com a mesma estrutura das regras de filtro do app, escritas em JSON:

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

Tipos de ação: markRead, markUnread, addFlag e removeFlag (com flag), delete, move (com mailbox), forward (com to, uma lista) e autoReply (com body). Com --apply, um arquivo de regras que contém move, forward ou autoReply é recusado antes que qualquer coisa mude; a prévia continua mostrando as correspondências dele.

Códigos de saída

CódigoSignificado
0Sucesso
1Erro geral, por exemplo: o armazenamento não pode ser aberto, um operador de busca não tem suporte (has:attachment), o corpo ou um anexo de uma mensagem não está disponível, ou uma entrada da caixa de saída não pode mais ser cancelada
2Erro de uso: comando desconhecido, opção ou valor de opção ausente, arquivo de regras ilegível, consulta ou ID de mensagem inválidos
3Nada encontrado: resultado vazio, mensagem ou pasta desconhecida, ou nenhuma regra correspondeu
4Os dados da mensagem estão incompletos ou ilegíveis

Se uma conta no armazenamento da linha de comando usar o Modo Fortress, o foldmail se recusa a ser executado e sai com 1, para nunca gravar dados não criptografados em um armazenamento criptografado.

Exemplos

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