문서로 건너뛰기
CLI

명령

명령 읽는 법, 전역 플래그, 직접 작성한 모든 명령, 모든 리소스 네임스페이스.

명령 읽는 법

문법
openemail <command> [subcommand] [arguments] [flags]
  • 플래그는 명령 뒤라면 인수 앞이든 뒤든 어디에나 둘 수 있습니다. --profile, --json 같은 전역 플래그는 명령 앞에 와도 되지만, 그 자리에 둔 다른 플래그는 명령 이름 뒤로 옮기라는 안내와 함께 멈춥니다.
  • 값은 공백이나 등호 뒤에 플래그를 따르므로 --limit 50과 --limit=50은 같습니다. 짧은 플래그도 -n 50처럼 값을 받습니다.
  • 대시로 시작하는 값에는 --subject=-draft-처럼 등호가 필요합니다. 공백 뒤에 두면 다음 플래그로 읽히고, 첫 번째 플래그에 값이 없다고 보고되기 때문입니다. 음수는 어느 방식으로든 됩니다. 빈 값은 조용한 기본값이 아니라 사용 오류입니다.
  • 스위치는 --flag로 켜고 --no-flag로 끄며, --flag=true와 --flag=false도 됩니다.
  • 목록은 쉼표로 구분하거나 반복합니다: --to [email protected],[email protected], 또는 --to를 두 번.
  • -- 뒤의 모든 것은 인수이며 플래그가 아닙니다. -from:ada 검색은 이렇게 통과시킵니다.
  • 알 수 없는 명령이나 플래그는 종료 코드 2로 멈추고 가장 가까운 것을 제안합니다.

전역 플래그

플래그하는 일
-h, --help명령이나 그룹의 도움말
-v, --versionCLI 버전 출력
--jsonstdout에는 JSON만, 오류는 stderr에 JSON으로, 프롬프트는 없음
-y, --yes파괴적인 작업을 묻지 않고 확인합니다. 인증 코드는 건너뛰지 않습니다
--profile <name>저장된 이 프로필 사용(OPENEMAIL_PROFILE과 같음)
--api-key <key>프로필을 무시하고 이 API 키를 이 명령에만 사용
--base-url <url>API 키나 자격 증명을 보내지 않는 명령이 쓰는 API 오리진(OPENEMAIL_BASE_URL과 같음). 저장된 로그인은 항상 자기 오리진을 씁니다
--no-input절대 묻지 않음. 값이 빠지면 종료 코드 2로 멈춤
--no-color색 없음(NO_COLOR, FORCE_COLOR=0과 같음)
--debug요청 ID, 실패한 요청, 스택 트레이스 출력

직접 작성한 명령

사람을 위해 작성된 명령입니다. 빠진 것을 묻고, 출력을 보기 좋게 만들며, 도움이 되면 여러 API 호출을 묶습니다.

명령하는 일
login브라우저로 로그인하거나 API 키 저장
whoami누구로 로그인했는지, 워크스페이스, 범위, 만료와 함께
statuswhoami 내용에 더해 보내는 주소와 각 도메인의 상태
verify지금 인증 코드를 입력해 민감한 명령이 60분 동안 실행되게 함
logout로그아웃하고 프로필 잊기
profile list, use, current, remove저장된 로그인 나열, 전환, 제거
send이메일 보내기, 예약하기, 또는 번역해서 보내기
inbox [folder]폴더의 스레드 나열
search <query>앱과 같은 문법으로 메일 검색
read <thread-id>스레드를 메시지별로 읽기
reply <thread-id>스레드의 마지막 메시지에 답장
archive, unarchive, trash, star, unstar스레드 하나 이상 정리
mark read, mark unread스레드를 읽음 또는 읽지 않음으로 표시
snooze, unsnooze스레드를 나중까지 숨기거나 지금 되돌리기
label add, label remove스레드에 라벨을 붙이거나 떼기
temp new, list, read, watch, delete일회용 받은편지함, 로그인 불필요
ai translate, languages, compose, summarizeAI로 메일 번역, 작성, 요약
mcp config, tools, call, serveAI 클라이언트 연결, 또는 MCP 도구 직접 호출
docs ask, open, read이 문서에 질문하고, 열고, 읽기
open [page]웹 앱의 페이지 열기
api <method> <path>로그인으로 모든 REST 엔드포인트 호출
updatenpm에서 새 릴리스 확인
completion <shell>bash, zsh, fish용 자동 완성 스크립트 출력
versionCLI, SDK, 런타임 버전 출력
help [command]모든 명령의 도움말 보기

리소스 명령

SDK의 모든 메서드는 openemail <namespace> <verb>라는 명령이기도 합니다. 네임스페이스는 SDK 네임스페이스를 케밥 케이스로, 동사는 메서드 이름을 케밥 케이스로 쓴 것이라서 keys.listRequests는 openemail keys list-requests가 됩니다. 이 명령들이 REST API 전체를 다룹니다.

터미널
openemail domains listopenemail domains create --domain acme.comopenemail rules create --data @rule.jsonopenemail keys list-requests 9f2c1a4b7e05d3862c1f0a44 --failed-only --allopenemail files download file_6bb640f5b99e47deb758f1f5 --out report.pdf
  • 메서드가 받는 ID는 openemail domains get <id>처럼 인수입니다. 요청 본문의 각 필드는 이름을 케밥 케이스로 쓴 플래그입니다. replyTo는 --reply-to, color.backgroundColor는 --color-background-color가 됩니다.
  • 전역 플래그와 겹치는 플래그 이름을 가진 필드 세 개는 이름이 바뀌었습니다: --template-version, --label-color, --resend-key.
  • --data는 본문 전체를 JSON으로 받습니다. 인라인, @path로 파일에서, -로 stdin에서 줄 수 있고, 함께 준 플래그는 해당 키를 덮어씁니다. 객체를 받는 플래그도 같은 방식으로 JSON을 읽습니다.
  • 숫자와 스위치는 그대로 해석되며, 목록은 쉼표로 구분하거나 반복합니다.
  • 필수 값이 빠지면 터미널에서는 묻고, 그 밖에서는 사용 오류(종료 코드 2)입니다.
  • 목록 동사는 한 페이지를 읽습니다. --limit로 크기를 정하고 --cursor로 출력된 커서부터 이어 갑니다. --all은 모든 페이지를 읽어 항목을 스트리밍하고, --max <n>은 그만큼 읽고 멈추며, --ndjson은 한 줄에 JSON 객체 하나를 출력합니다.
  • 삭제, 폐기, 교체, 취소, 비우기처럼 파괴적인 작업은 --yes를 주지 않는 한 확인을 요청합니다.
  • 다운로드는 --out의 파일에 쓰며, stdout이 터미널이 아닐 때만 stdout으로 보냅니다.

openemail <namespace> <verb> --help는 각 인수와 플래그의 타입, 호출에 필요한 범위, 메서드와 경로, 반환값, API 레퍼런스의 참고 사항을 보여 줍니다.

모든 네임스페이스

별칭 열은 네임스페이스가 응답하는 다른 이름을 나열합니다.

네임스페이스별칭동사
meget, ping, rotate
keyskeylist, get, create, update, delete, rotate, revoke, list-requests, list-activity, list-workspace-requests, list-workspace-activity
addressesaddresslist
languageslanguagelist
emailsemailsend, send-batch, translate, list, get, list-events, get-tracking, cancel, reschedule
templatestemplatelist, get, create, update, duplicate, replace-content, delete, list-versions, get-version, publish, restore-version, delete-version, list-starters, get-starter, list-fonts, render, preview, get-analytics, list-sends, send
trackinglist, get-stats, get, list-opens, list-clicks
threadsthreadlist, get, update, trash, snooze, unsnooze, list-attachments
draftsdraftlist, get, create, update, delete
labelslist, list-colors, get, create, update, delete
contactscontactlist, get, create, update, delete, set-audiences, list-people, save, delete-many, set-photo, remove-photo, block, unblock, list-threads, activity
audiencesaudiencelist, growth, get, create, update, delete, empty, list-contacts, add-contact, remove-contact, add-contacts, remove-contacts, import-contacts
broadcastsbroadcastpreview, send, list, get, stats, list-recipients, get-recipient, cancel
domainsdomainlist, get, create, verify, update, delete, list-addresses, create-address, get-address, update-address, delete-address
rulesrulelist, get, create, update, delete, reorder, test, list-runs
webhookswebhooklist, get, create, update, delete, rotate-secret, test, list-deliveries, get-delivery, replay-delivery, list-workspace-deliveries, list-activity, list-workspace-activity
importsimportlist, get, create, upload-state, upload-chunk, start, cancel, list-failures, delete-upload, import-files
provider-importsprovider-import, providerImportsinspect, create, list, get, cancel
calendarlist-events, get-event, get-event-ics
settingssettingget, update
rolesrolelist, get, create, update, delete, list-permissions
membersmemberlist, get, add, update, remove, grant-address, revoke-address, list-invitations, revoke-invitation, resend-invitation
suppressionssuppressionlist, get, add, remove
filesfilelist, get, stats, download, list-links, create-link, revoke-link, upload, delete, delete-many
temp-mailtempMaillist-domains, create, get, extend, delete, list-messages, get-message, delete-message, list-attachments

별칭

별칭대상
lslist
show, viewget
new, addcreate
editupdate
rm, del, removedelete
openemail lsopenemail inbox
openemail showopenemail read

동사가 add와 remove인 members와 suppressions에서는 new와 create가 add로, rm, del, delete가 remove로 이어집니다. 직접 작성한 일부 하위 명령에는 고유한 별칭이 있으며, 각 도움말에 나와 있습니다.

모든 REST 호출

openemail api <method> <path>는 다른 모든 명령과 같은 전송 계층으로 REST API에 요청을 하나 보냅니다. 그래서 프로필이나 키, 토큰 갱신, 인증 코드가 모두 적용됩니다. 경로만 주면 GET입니다. JSON 응답은 서식을 갖춰 출력되고, 실패한 요청은 API 오류를 출력하고 해당 코드로 종료합니다.

터미널
openemail api /keys/selfopenemail api GET /threads --query folder=inbox --query limit=5openemail api POST /labels --data '{"name":"Receipts"}'openemail api PATCH /threads/CAHk7pQ2x9LmZ4 --data @patch.jsonopenemail api GET /files/file_6bb640f5b99e47deb758f1f5/content --out report.pdf
  • -d, --data는 본문을 인라인 JSON으로, @path로 파일에서, 또는 -로 stdin에서 받습니다. -q, --query와 -H, --header는 key=value를 받고 여러 번 쓸 수 있으며, -o, --out은 응답을 받은 그대로 파일에 저장합니다.
  • 경로는 API 오리진 기준의 상대 경로입니다. 전체 URL, 오리진을 벗어나는 경로, Authorization 헤더는 아무것도 보내기 전에 종료 코드 2로 거부됩니다. 자격 증명은 CLI가 직접 설정하기 때문입니다.

도움말

터미널
openemail --helpopenemail help sendopenemail domains --helpopenemail domains create --help

openemail --help는 모든 명령을 용도별로 나열합니다. 그룹은 하위 명령을 예제와 함께 나열하고, 명령은 받는 모든 것을 보여 줍니다. openemail docs open cli는 이 페이지를 엽니다.

받은편지함을,
내 방식대로.

기업, AI, 에이전트, 개인 메일을 위한 이메일 인프라. 규모와 프라이버시, 통제권을 위해 만들었습니다. 이메일이 처음부터 갖췄어야 할 모든 것.

OpenEmail

기업, AI, 에이전트, 개인 메일을 위한 이메일 인프라. 규모와 프라이버시, 통제권을 위해 만들었습니다. 이메일이 처음부터 갖췄어야 할 모든 것.

© 2026 OpenEmail. 모든 권리 보유.