Vërtetimi
Hyni me shfletuesin ose me një çelës API, mbani disa profile dhe verifikoni një kod para një ndryshimi të ndjeshëm.
Dy mënyra për të hyrë
Ekzekutoni openemail login në një terminal dhe ai pyet cilën doni. Në të dyja rastet hyrja ruhet si profil, dhe çdo komandë e mëpasshme përdor profilin aktiv.
| Komanda | Vepron si | Kodet e verifikimit |
|---|---|---|
| openemail login | Ju, në hapësirën e punës dhe me qasjen që miratoni | Kërkohet para disa ndryshimeve të ndjeshme |
| openemail login --with-token | Hapësira e punës, me fushëveprimet që ka çelësi | Nuk kërkohet kurrë |
- Vetëm një hyrje me shfletues mund të përdorë
ai compose,ai summarizedhe komandat MCP. - Një hyrje me shfletues vlen derisa të skadojë miratimi që zgjodhët, ose derisa të dilni. Një çelës punon derisa të revokohet.
Hyrja me shfletues
openemail loginregjistron një aplikacion të ri për këtë hyrje, me emrinOpenEmail CLI on <your computer>, dhe hap faqen e miratimit të OpenEmail në shfletuesin tuaj. Nëse shfletuesi nuk hapet, përdorni lidhjen që shtyp.- Hyni nëse duhet, pastaj zgjidhni hapësirën e punës, qasjen që merr CLI (lexim, lexim dhe dërgim, e plotë, ose grupin tuaj të lejeve), domenet ose adresat që arrin, dhe sa zgjat miratimi.
- Miratoni. Shfletuesi ia kthen vetë miratimin terminalit, dhe mund ta mbyllni skedën. CLI shtyp me kë keni hyrë, hapësirën e punës dhe kur skadon miratimi.
openemail loginopenemail login --scopes emails:send,threads:readopenemail login --profile work- CLI pret 10 minuta për miratimin tuaj. Zgjedhja e Jo tani në faqen e miratimit e anulon hyrjen, me kodin e daljes
10. --scopesparazgjedh lejet në faqen e miratimit, dhe mund t'i ndryshoni ende atje.- Kur profili ka tashmë një hyrje, terminali pyet para se ta zëvendësojë. Pa mbikëqyrje refuzon, përveç nëse jepni
--forceose--yes. Zëvendësimi i një hyrjeje me shfletues revokon të vjetrën.
Çdo hyrje me shfletues është aplikacioni i vet i lidhur, i renditur te Llogaria → Aplikacionet e lidhura me qasjen që miratuat, ku mund ta ndryshoni ose ta hiqni. openemail open apps e hap atë faqe.
Poshtë qëndron rrjedha OAuth që përdor serveri MCP: një klient publik me PKCE, një kod njëpërdorimsh dhe një token qasjeje që zgjat një orë dhe rinovohet për ju. Shfletuesi kthehet te 127.0.0.1 në një portë të rastësishme, dhe atje pranohet vetëm kodi i kësaj hyrjeje.
Përmes SSH, ose pa shfletues
Kur CLI nuk mund të hapë shfletues në këtë makinë, shtyp lidhjen në vend të kësaj: përmes SSH, në CI, në Linux pa ekran, ose kur jepni --no-browser. Hapeni lidhjen në një shfletues në çfarëdo pajisjeje dhe miratoni. Faqja tregon më pas një kod hyrjeje, të cilin e ngjitni në terminal.
$ openemail login --no-browserOpen this link in a browser on any device to sign in: https://api.openemail.uk/auth/mcp/authorize?response_type=code&client_id=…Paste the code from your browser- Një kod vlen vetëm për hyrjen që shtypi lidhjen, prandaj një kod nga një skedë tjetër refuzohet.
- Funksionon edhe ngjitja e gjithë adresës ku përfundoi shfletuesi.
- Pa terminal, kalojeni kodin përmes stdin.
Çelësat API
Një çelës API e fut një skript pa shfletues dhe nuk i kërkohet kurrë kod. Krijoni një te Cilësimet → Çelësat API (openemail open api-keys) vetëm me fushëveprimet që i duhen skriptit. CLI e kontrollon çelësin me GET /keys/self para se ta ruajë, dhe pranon çelësa oe_live_ dhe oe_test_. Posta e dërguar me një çelës testimi nuk dorëzohet kurrë.
openemail login --with-token < ~/.config/openemail/keyecho "$OPENEMAIL_KEY" | openemail login --with-token --profile ciopenemail login --token oe_live_…--token funksionon gjithashtu, por çelësi përfundon në historikun e shell-it, prandaj CLI ju paralajmëron dhe sugjeron --with-token. Dy mënyra e përdorin një çelës pa e ruajtur:
OPENEMAIL_API_KEYnë mjedis përdoret nga çdo komandë që e sheh, para çdo profili të ruajtur.--api-key <key>përdoret vetëm për atë komandë.
Kur ka më shumë se një kredencial, fiton i pari nga këto: --api-key, OPENEMAIL_API_KEY, profili i emërtuar nga --profile, profili i emërtuar nga OPENEMAIL_PROFILE, pastaj profili aktiv.
Profilet
Një profil është një hyrje e ruajtur, e cilitdo lloj. I pari quhet default. Hyni në më shumë me --profile dhe kaloni nga njëri te tjetri:
openemail login --profile workopenemail profile listopenemail profile use workopenemail inbox --profile defaultOPENEMAIL_PROFILE=work openemail statusopenemail profile currentopenemail profile remove workprofile listtregon çdo profil me llojin, hapësirën e punës dhe përdoruesin ose çelësin, dhe shënon atë aktiv. JSON-i i tij nuk përfshin kurrë një token ose një çelës.profile currentshtyp vetëm emrin në stdout, prandaj$(openemail profile current)funksionon në një skript.profile remove <name>është e njëjtë meopenemail logout --profile <name>.- Emri i profilit ka deri në 64 shkronja, shifra, pika, viza dhe nënvija.
profile usequhet edheprofile switch. Heqja e profilit aktiv, ose dalja prej tij, nuk lë asnjë profil aktiv, dhe komanda e radhës që ka nevojë për hyrje ju drejton teopenemail profile use <name>.
Me cilin API flet një hyrje
Një profil i ruajtur mban mend API-n në të cilin hyri, dhe kredenciali i tij dërgohet vetëm atje. Një --base-url ose OPENEMAIL_BASE_URL që emërton një origjinë tjetër e ndal komandën me kodin e daljes 2 para se të dërgohet diçka, dhe tregon si të hyni në atë origjinë me një profil më vete.
openemail login --profile other --base-url https://api.example.comopenemail inbox --profile other- Një çelës nga
OPENEMAIL_API_KEYose--api-keynuk është profil i ruajtur, ndaj shkon te origjina në--base-urloseOPENEMAIL_BASE_URL, ose tehttps://api.openemail.ukkur asnjëri nuk është caktuar. - Komandat që nuk dërgojnë kredencial ndjekin
--base-urldheOPENEMAIL_BASE_URL, cilido qoftë profili aktiv: kutitë e përkohshme, metodat që nuk kanë nevojë për çelës,docsdheopen. httpi thjeshtë refuzohet për çdo origjinë përveçlocalhost,127.0.0.1dhe::1, me kodin e daljes2: API-ja, aplikacioni web, kërkesat e hyrjes, të tokenit dhe të revokimit, si edhe serveri MCP. Përdornihttpspër gjithçka tjetër.- Një shteg kërkese që do të dilte nga origjina e API-t, si
openemail api //example.com/x, ndalet me kodin e daljes2dheinvalid_pathpara se të dërgohet diçka.
Çfarë nuk mund të bëjë secila hyrje
Një hyrje me shfletues vepron në emrin tuaj, por disa gjëra nuk miratohen kurrë për një aplikacion, çfarëdo qasjeje që të zgjidhni:
- Menaxhimi i çelësave API.
keys:writedhekeys:managenuk jepen kurrë, prandaj krijimi, rrotullimi dhe revokimi i çelësave kërkon një çelës API që kakeys:manage, ose aplikacionin web.openemail me rotaterrotullon çelësin me të cilin po thërrisni, prandaj kërkon një çelës API. - Faturimi dhe vetë hapësirat e punës. Planet, faturat, dhe krijimi, ndërrimi ose fshirja e një hapësire pune mbeten në aplikacionin web.
- Adresa juaj falas. Një aplikacion miratohet për një hapësirë pune biznesi, dhe hapësira personale që mban adresën falas nuk ofrohet kurrë, i njëjti rregull që ndjek API.
- Anëtarët dhe rolet, përveç nëse miratimi mbulon gjithë hapësirën e punës.
members:writedheroles:writehiqen nga një miratim i kufizuar në disa domene ose adresa.
Edhe një çelës API ka kufirin e vet. ai compose, ai summarize dhe çdo komandë openemail mcp përveç config kalojnë përmes serverit MCP, që kërkon hyrje me shfletues, prandaj me një çelës ndalen me kodin e daljes 4 dhe thonë pse.
Kodet e verifikimit
Me një hyrje me shfletues, disa ndryshime kërkojnë së pari një kod verifikimi, si në aplikacionin web. CLI e kërkon kur i duhet: ju dërgon me email një kod gjashtëshifror ose, kur hyrja me dy hapa është aktive, kërkon një kod nga aplikacioni i autentikimit ose një nga kodet tuaja rezervë. Kur kodi është i saktë, komanda ekzekutohet, dhe asaj hyrjeje nuk i kërkohet më për 60 minuta. Një çelësi API nuk i kërkohet kurrë.
| Komanda | Kërkon kod |
|---|---|
| webhooks create, update | Gjithmonë |
| rules create, update | Gjithmonë |
| roles update, delete | Gjithmonë |
| members add, update, remove | Gjithmonë |
| members grant-address, revoke-address | Gjithmonë |
| domains delete, delete-address | Gjithmonë |
| audiences delete | Për një audiencë që keni krijuar |
| audiences empty | Për një audiencë që keni krijuar dhe që ka ende kontakte |
| mcp call createRule, setRuleEnabled | Gjithmonë |
| mcp call removeDomain, removeDomainAddress | Gjithmonë |
| mcp call deleteAudience, emptyAudience | Si komanda përkatëse e audiencës |
| api | Kur veprimi që thërret është një nga ata më sipër |
$ openemail webhooks create --url https://acme.com/hooks/openemailWe emailed a code to a•••@acme.com.Verification code: 482913Verified. You will not be asked again for 60 minutes.- Shkruani
rnë kërkesë që emaili të dërgohet sërish. Një kod i gabuar tregon sa përpjekje kanë mbetur. - Pasi kodi pranohet, komanda ekzekutohet edhe një herë, kurrë dy herë.
--yeskonfirmon një fshirje, por nuk e kapërcen kurrë një kod.- Pa mbikëqyrje (me
--jsonose--no-input, në CI, ose pa terminal) askush nuk mund ta shkruajë kodin, prandaj komanda ndalet me kodin e daljes4dhe nuk ndryshon asgjë. - Një kod lejon 5 përpjekje, dhe pas të pestës së gabuar CLI ofron një kod të ri. Çdo hyrje mund të kërkojë 5 kode në orë dhe 20 në ditë.
- Dhjetë kode të gabuara për një hyrje brenda 24 orësh e ndalin verifikimin e saj. CLI atëherë tregon kur rifillon dhe ndalet me kodin e daljes
4dhestep_up_paused, pa ofruar një kod tjetër, dhe emaili që e shpjegon e emërton aplikacionin.
Ekzekutoni openemail verify para se një skript ose një klient AI të bëjë diçka të ndjeshme. Kërkon kodin tani, dhe për 60 minutat e ardhshme çdo komandë e atij profili punon pa kod, përfshirë openemail mcp call dhe urën lokale MCP.
openemail verifyopenemail verify --statusopenemail verify --status --jsonopenemail verify --force60 minutat i përkasin një hyrjeje të vetme. Një profili tjetër, ose një klienti AI që ka hyrë vetë, i kërkohet kodi i vet, dhe dalja i përfundon menjëherë. --force kërkon një kod të ri dhe nis 60 minuta të reja.
Skadimi, dalja dhe revokimi
- Tokeni i qasjes pas një hyrjeje me shfletues zgjat një orë. CLI e rinovon para se të skadojë dhe ruan të riun, prandaj nuk e vini re kurrë.
- Çdo token rifreskimi funksionon vetëm një herë. Një i vjetër i përdorur më shumë se 30 sekonda pasi CLI e zëvendësoi, për shembull nga një kopje e
config.jsonnë një makinë tjetër, bën që serveri ta revokojë plotësisht atë hyrje, ndaj hyni në çdo makinë në vend që ta kopjoni skedarin. - Miratimi zgjat aq sa zgjodhët në faqen e miratimit. Kur mbaron, ose kur aplikacioni hiqet te Llogaria → Aplikacionet e lidhura, CLI nuk mund të veprojë më për ju dhe ju kërkon të ekzekutoni sërish
openemail login. openemail logoutrevokon një hyrje me shfletues në server, gjë që e heq nga aplikacionet e lidhura, pastaj e harron në këtë pajisje, edhe kur serveri nuk arrihet.--alldel nga çdo profil.- Dalja nga një çelës API thjesht e harron këtu. Çelësi vazhdon të punojë derisa ta revokoni, me
openemail keys revoke <id>ose në aplikacionin web.
Ku ruhen hyrjet
Gjithçka ndodhet në ~/.openemail, ose në dosjen që emërton OPENEMAIL_CONFIG_DIR. Dosjen mund ta lexoni vetëm ju (0700), si edhe çdo skedar brenda saj (0600). Çdo skedar shkruhet në një skedar të përkohshëm dhe riemërtohet në vendin e vet, që një rrëzim të mos lërë kurrë një skedar përgjysmë, dhe çdo ndryshim bëhet nën një skedar bllokimi, që komandat që ekzekutohen njëkohësisht të mos humbasin kurrë një profil.
| Skedari | Çfarë mban |
|---|---|
| config.json | Profilet tuaja: çelësat API, tokenat e qasjes dhe të rifreskimit, dhe cili profil është aktiv |
| temp-mail.json | Kutitë e përkohshme që krijoi kjo CLI, me tokenat e tyre |
| update-check.json | Kur u pyet npm për herë të fundit për një publikim të ri, dhe çfarë u përgjigj |
Tokenat dhe çelësat ruhen si tekst i thjeshtë në skedarë që mund t'i lexojë vetëm përdoruesi juaj, prandaj trajtojeni dosjen si një çelës SSH. Një skedar që CLI nuk e kupton nuk merret kurrë në heshtje si dalje: paralajmëron një herë me shtegun, dhe mban një kopje pranë tij (config.json.bak) para se të shkruajë një të ri. Një skedar që nuk e lexon dot fare, për shembull për shkak të lejeve të tij, e ndal komandën me një gabim që e emërton.