Saltar para a documentação
CLI

Correio

Enviar com qualquer corpo e anexos, ler e pesquisar a caixa de correio, responder, arquivar conversas e usar caixas de entrada descartáveis.

Enviar

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

O corpo vem da primeira destas fontes que existir:

  1. --text e --html, os dois juntos se quiser ambas as partes.
  2. --body-file <path>. Um ficheiro .html ou .htm é enviado como HTML e qualquer outro como texto, e - lê stdin.
  3. O que chegar por stdin. Uma entrada que comece com uma etiqueta HTML é enviada como HTML.
  4. O seu editor ($VISUAL, e depois $EDITOR), quando o executa num terminal.

Sem --from, a CLI envia a partir do único endereço a partir do qual pode enviar, ou deixa-o escolher um num terminal. Sem supervisão e com mais de um, para e pede --from. Num terminal vê um resumo e confirma antes de sair alguma coisa, o que --yes salta.

OpçãoO que faz
--to, --cc, --bccDestinatários, separados por vírgulas ou repetidos. Ada Lovelace <[email protected]> também funciona
--from, --reply-toO endereço de envio, e o cabeçalho Reply-To
-s, --subjectA linha de assunto
-a, --attach <path>Anexar um ficheiro. Repita para mais
--at <when>Enviar mais tarde: uma hora ISO como 2026-10-01T09:00:00Z, ou um atraso como 10m, 2h, 1d ou PT1H
--undo <seconds>Reter um envio imediato até 900 segundos, para que ainda possa ser cancelado
--translate <language>Traduzir o email para esta língua antes de sair
--template <id>, --props <json>Enviar um modelo guardado com os seus props em vez de um corpo
--draft <id>Enviar um rascunho guardado exatamente como foi escrito
--thread <id>Arquivar o email enviado nesta conversa
--tag <key=value>Etiquetar o email. Repita para mais
--idempotency-key <key>Executar o comando outra vez com a mesma chave nunca envia duas vezes
Mais envios
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

Mostra o id do email e o seu estado. sent, partial e failed significam que o envio foi tentado dentro do pedido, e queued e scheduled que está retido. Um envio failed sai com o código 1, e --json mostra o email completo.

Cada envio leva uma chave de idempotência, a sua ou uma que a CLI gera, por isso uma nova tentativa após uma ligação caída nunca envia a mensagem duas vezes. Passe a sua quando um pipeline puder repetir o mesmo passo.

Anexos

--attach aceita até 20 ficheiros. Enquanto somarem 5 MB ou menos no total, viajam dentro da mensagem. Quando somam mais, cada um é primeiro carregado para Ficheiros e a mensagem faz referência a ele, por isso um ficheiro grande não precisa de nenhum passo extra. O tipo de conteúdo vem da extensão do ficheiro.

Caixa de entrada

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

Lista uma página de conversas, da mais recente para a mais antiga, com quando cada uma se moveu pela última vez, quem escreveu por último, o assunto, as etiquetas e o id da conversa. Um ponto marca correio não lido. A pasta é a caixa de entrada, a menos que indique outra: sent, archive, starred, snoozed, spam, trash, draft, ou um id de etiqueta como USER_RECEIPTS.

  • -u, --unread mantém as conversas com correio não lido, -l, --label mantém as conversas que têm uma etiqueta, e -q, --query restringe a lista com uma pesquisa.
  • -n, --limit define o tamanho da página, de 1 a 100 (25 se nada indicar). Quando restam mais, o cursor seguinte é mostrado em stderr para --cursor, e --all lê cada página.
  • --from-contacts mantém as conversas cuja mensagem mais recente veio de um contacto guardado, e --sort ordena-as por newest, oldest, sender ou subject.
  • --json mostra { items, hasMore, nextCursor }, com cada conversa completa.

Ler uma conversa

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

Mostra cada mensagem da conversa, da mais antiga para a mais recente: quem a enviou e a quem, quando, o assunto, os anexos com tamanho e id, e o corpo. Uma parte em texto simples é mostrada tal como está, e uma mensagem só em HTML é convertida em texto legível que mantém as listas, as citações, os títulos e as ligações. Ler marca a conversa como lida, a menos que passe --no-mark-read.

  • -m, --message <n> mostra uma só mensagem, contando a partir de 1, ou a partir da mais recente com um número negativo.
  • --html mostra o HTML em bruto em vez disso.
  • Uma mensagem cifrada não é decifrada aqui, por isso abra-a na aplicação 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 na mesma conversa a quem enviou a última mensagem, ou ao seu endereço Reply-To. Quando a última mensagem é sua, a resposta vai para as pessoas a quem foi enviada. --all põe em cópia todas as outras pessoas dessa mensagem, deixando de fora os seus próprios endereços. O assunto recebe Re: se ainda não o tiver, e a resposta sai do endereço a que a conversa foi entregue quando pode enviar a partir dele.

Aceita as opções de corpo, anexos, agendamento, tradução, tags e idempotência de send, com --from e --subject, e --to, --cc e --bcc substituem os destinatários.

Arquivar conversas

ComandoO que faz
archive <thread-id...>Fora da caixa de entrada, ainda pesquisável
unarchive <thread-id...>De volta à caixa de entrada
trash <thread-id...>Para o Lixo. Pede confirmação, porque nenhuma chamada tira uma conversa de lá
star, unstarPôr ou tirar a estrela
mark read, mark unreadMarcar conversas como lidas ou não lidas
snooze <thread-id...> --until <when>Ocultar conversas até uma hora, ou durante um atraso como 3h ou 1w. Voltam cerca de uma hora depois dessa hora
unsnoozeTrazer de volta agora as conversas adiadas
label add, remove --label <id>Pôr etiquetas em conversas ou retirá-las. openemail labels list mostra os ids

Cada um aceita vários ids de conversa e informa sobre cada um. A primeira falha define o código de saída, e --json mostra { results, succeeded, failed }. Os ids de uma pesquisa encadeiam-se diretamente:

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

Caixas de entrada descartáveis

openemail temp cria endereços de curta duração que não precisam de conta nem de início de sessão, ideais para testes de registo e códigos de uso único. Cada token de caixa fica guardado em ~/.openemail/temp-mail.json, por isso os comandos seguintes encontram uma caixa pelo id ou pelo endereço, ou sozinhos quando só tem uma.

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 mostra só o endereço em stdout. Dura 60 minutos, a menos que --ttl diga outra coisa, até 24 horas, e --name e --domain escolhem o endereço.
  • temp watch mostra o que chegou e depois verifica a cada 3 segundos até o parar ou a caixa expirar. --first para na primeira mensagem, e --json mostra uma linha JSON por mensagem.
  • temp read lista as mensagens com uma pré-visualização curta, ou mostra uma mensagem completa.
  • temp delete elimina a caixa e o seu correio de imediato. O endereço fica reservado durante 7 dias depois do fim previsto do seu prazo.
  • --inbox-token chega a uma caixa de entrada que esta CLI não criou, em temp read, watch e delete.
  • O remetente do correio numa caixa de entrada descartável nunca é verificado.

A sua caixa de entrada,
nos seus termos.

Infraestrutura de email para empresas, IA, agentes e correio pessoal. Feita para escala, privacidade e controlo. Tudo o que o email devia ter tido desde o primeiro dia.

OpenEmail

Infraestrutura de email para empresas, IA, agentes e correio pessoal. Feita para escala, privacidade e controlo. Tudo o que o email devia ter tido desde o primeiro dia.

© 2026 OpenEmail. Todos os direitos reservados.