Kalo te dokumentacioni
CLI

Skedarët, importet dhe cilësimet

Çdo komandë për skedarët që mban kutia postare, importimin e një kutie postare të vjetër ose të një llogarie Resend, kalendarin e gjetur në postë, dhe cilësimet e hapësirës së punës dhe të çdo adrese.

Përmbledhje

Pesë hapësira emrash mbulojnë atë që ndodhet rreth vetë postës. openemail files është faqja Skedarët: çdo bashkëngjitje e dërguar dhe e marrë dhe çdo skedar i ngarkuar, me bajtet e tij dhe lidhjet e shkarkimit me të cilat u nis. openemail imports sjell një kuti postare të vjetër në një adresë, dhe openemail provider-imports sjell një llogari Resend. openemail calendar lexon ngjarjet e gjetura në postë, dhe openemail settings lexon dhe ndryshon preferencat e kutisë postare dhe nënshkrimin dhe gjurmimin e çdo adrese.

  • Një id tregon çfarë emërton: file_ për një skedar, imp_ për një import kutie postare, pimp_ për një import Resend dhe cal_ për një ngjarje kalendari, secila e ndjekur nga 24 karaktere hex. Një lidhje shkarkimi ka një id të vetën, nga files list-links ose files create-link.
  • --address-id te një import është id-ja e një adrese, nga openemail domains list-addresses <id>, jo vetë adresa.
  • Hapësirat e emrave u përgjigjen edhe file, import, provider-import ose providerImports, dhe setting. Foljet pranojnë pseudonimet e zakonshme aty ku i kanë: ls për list, show dhe view për get, new dhe add për create, edit për settings update, dhe rm, del dhe remove për files delete.
  • Asnjë nga këto komanda nuk i kërkon kod verifikimi një hyrjeje me shfletues. Ato që ndryshojnë diçka përgjithmonë kërkojnë konfirmim, dhe --yes përgjigjet për një skript.
  • openemail <command> --help liston çdo argument dhe flamur me llojin e tij, fushëveprimin që i duhet thirrjes, metodën dhe shtegun, dhe çfarë kthehet. Shtoni --json për të njëjtën faqe si të dhëna.

Skedarët

openemail files lexon dhe menaxhon çdo skedar që mban kutia postare: bashkëngjitjet që erdhën, bashkëngjitjet që u nisën, dhe skedarët e ngarkuar te faqja Skedarët. openemail open files hap të njëjtën faqe në aplikacionin web.

KomandaÇfarë bën
openemail files listListoni një faqe skedarësh me emrin, llojin, madhësinë, drejtimin, adresën ku erdhi secili dhe nëse mund të fshihet
openemail files get <id>Lexoni një skedar, me bisedën dhe mesazhin të cilit i përket, usage dhe deletable të tij
openemail files statsNumëroni skedarët dhe bajtet që zënë, të ndarë në të marrë, të dërguar dhe të ngarkuar, me llojet dhe adresat kryesore, 30 ditët e fundit dhe lidhjet që ende funksionojnë
openemail files download <id>Merrni bajtet e një skedari saktësisht siç janë ruajtur, në --out <file> ose në stdout kur dalja dërgohet në pipe
openemail files list-links <id>Listoni lidhjet e shkarkimit me të cilat u nis një skedar, më të rejat të parat, me sa herë u shkarkua secila dhe nëse u revokua
openemail files create-link <id>Publikojeni skedarin në një lidhje të re publike shkarkimi që hapet pa hyrë
openemail files revoke-link <id> <link-id>Ndaloni përgjithmonë një lidhje publike, edhe në postën e dërguar tashmë. Kërkon konfirmim
openemail files upload <data>Ngarkoni një skedar nga një shteg, ose nga stdin me -, deri në 100 MB
openemail files delete <id>Fshini përgjithmonë një ngarkim nga i cili nuk varet asgjë. Kërkon konfirmim
openemail files delete-many <ids...>Fshini deri në 100 skedarë me një thirrje dhe raportoni ata që u mbajtën dhe ata që nuk u gjetën. Kërkon konfirmim
  • files list ngushtohet me --q (emri dhe lloji), --kind (image, pdf, audio, video ose text), --direction (inbound, outbound ose uploaded), --address, --since dhe --until, dhe renditet me --sort (newest, oldest, largest ose name). --since dhe --until marrin një datë ose datë e orë ISO 8601: --since e përfshin çastin e vet dhe --until ndalet para tij.
  • Vetëm një ngarkim nga i cili nuk varet asgjë mund të fshihet, dhe deletable e tregon këtë paraprakisht. usage tregon çfarë e mban çdo skedar tjetër: received, sent, linked për një ngarkim lidhja e shkarkimit e të cilit ende funksionon, ose scheduled për një të bashkëngjitur te një mesazh që nuk është nisur ende. delete i refuzon ato me 409 file_in_use. delete-many fshin atë që mundet, liston të tjerat te kept me një arsye secila, dhe liston id-të e panjohura te missing.
  • upload lexon skedarin në shtegun që jepni dhe e ruan me emrin e atij skedari, me llojin që nënkupton prapashtesa e tij. --filename dhe --content-type i mbishkruajnë. Nga stdin, - kërkon --filename, dhe pa --content-type lloji është application/octet-stream. Ngarkimi pret deri në 10 minuta, gjë që e ndryshon --timeout-ms.
  • Id-ja që kthen upload e bashkëngjit skedarin në një dërgim si { "fileId": "…" } te openemail emails send --attachments, dhe kështu niset një skedar mbi kufirin prej 5 MB për bashkëngjitjet në rresht.
  • Një skedar bosh jep 400 upload_empty, një program ose skript (i gjykuar nga emri) jep 400 upload_dangerous, dhe një skedar mbi 100 MB jep 413 upload_too_large. Një hapësirë pune mban deri në 10 GB ngarkime dhe pranon 500 ngarkime në orë.
  • download kërkon --out <file> në terminal dhe pa të ndalet me kodin e daljes 2. Kur dalja dërgohet në pipe, bajtet shkojnë në stdout, dhe --out - kërkon gjithashtu stdout. I gjithë skedari mbahet në memorie.
  • create-link krijon një lidhje të re në çdo thirrje, me numëruesin e vet të shkarkimeve, dhe lidhja funksionon derisa të revokohet ose skedari të fshihet. Ajo ndodhet në domenin e skedarëve të --domain kur ai domen ka një të tillë, si files.acme.com, përndryshe në domenin e skedarëve të adresës së skedarit, përndryshe në adresën e API-t. Një program ose skript refuzohet me 422 file_unshareable.
  • revoke-link është i sigurt për t'u përsëritur: një lidhje e revokuar tashmë kthehet e pandryshuar.
  • Një çelës ose hyrje e kufizuar në adresa ose domene të caktuara sheh vetëm skedarët që mbërritën te ato, kurrë skedarët e ngarkuar për gjithë hapësirën e punës, dhe ngarkimet e veta i përkasin adresës së parë që mban.
  • Indeksi i skedarëve nis nga dita kur u publikua. Bashkëngjitjet më të vjetra ndodhen ende te mesazhet e tyre, ku i lexon openemail threads list-attachments <id>.

Importet e kutive postare

openemail imports sjell një kuti postare të vjetër në një adresë: arkiva Google Takeout, skedarë .mbox nga Apple Mail, Thunderbird dhe shumica e aplikacioneve desktop, skedarë .eml, dhe arkiva .zip ose .tgz që mbajnë cilindo prej tyre, deri në 100 GB për skedar dhe 50 skedarë për import. Bisedat, datat dhe etiketat vijnë bashkë. Posta e importuar është e qetë: nuk ekzekuton rregulla, përcjellje, njoftime, përmbledhje ose webhook-e.

import-files është ajo që u duhet shumicës së njerëzve: krijon importin, ngarkon çdo skedar në pjesë me një rresht progresi, dhe e nis. Foljet e tjera janë ata hapa një nga një, për të përfunduar një ngarkim që u ndal ose për ta drejtuar vetë. create kthen planin, chunkBytes dhe chunks e çdo skedari, upload-chunk dërgon një pjesë, upload-state tregon cilat pjesë mbërritën, dhe start e vendos importin në radhë. openemail open imports tregon të njëjtat importe në aplikacionin web.

KomandaÇfarë bën
openemail imports listListoni një faqe të importeve në hapësirën e punës, më të rejat të parat, me statusin, bajtet e lexuara dhe numrat. --address-id mban një adresë
openemail imports get <id>Lexoni një import me statusin, progresin dhe numrat e tij. Kontrollojeni vazhdimisht derisa të lexojë completed, failed ose cancelled
openemail imports create --address-id <value> --files <json|@file|->Krijoni një import nga një listë { name, bytes } dhe merrni planin e tij të ngarkimit, me status uploading
openemail imports upload-state <id>Për çdo skedar, indekset e pjesëve të ruajtura tashmë, që një ngarkim i ndalur të dërgojë vetëm atë që mungon
openemail imports upload-chunk <id> <file> <chunk> <data>Ngarkoni një pjesë të një skedari, nga një shteg ose nga stdin me -. Dërgimi sërish i një pjese e zëvendëson atë
openemail imports start <id>Kontrolloni që çdo pjesë mbërriti, njihni formatin e çdo skedari dhe vendoseni importin në radhë
openemail imports cancel <id>Ndaloni importin në pikën e tij të radhës së kontrollit. Posta e importuar tashmë mbetet. Kërkon konfirmim
openemail imports list-failures <id>Listoni çdo mesazh ose element arkivi që nuk erdhi, me arsyen
openemail imports delete-upload <id>Fshini skedarët e ngarkuar. Posta e importuar tashmë mbetet. Kërkon konfirmim
openemail imports import-files --address-id <value> --files <path>Krijoni, ngarkoni dhe nisni një import me një komandë, dhe kthehuni sapo të jetë në radhë
  • Adresa duhet të jetë një adresë në domenet e vetë hapësirës së punës, për të cilën çelësi ose hyrja mund të veprojë. Vetëm një import ekzekutohet për adresë: një tjetër ndërsa një është në radhë ose në ekzekutim jep 409 already_running.
  • import-files merr --files një herë për skedar, ose disa shtigje të ndara me presje, dhe dërgon secilin me emrin e vet të skedarit. --options merr JSON si {"keepInbox":false,"includeSpam":true}. Te create të njëjtat tri janë ndërprerës: --options-keep-inbox, --options-include-spam dhe --options-include-trash, secili i fikur me --no- përpara, si te --no-options-keep-inbox.
  • keepInbox është i ndezur si parazgjedhje, ndaj posta nga inbox-i i vjetër përfundon në Inbox me gjendjen e saj të palexuar. I fikur i rendit të gjitha nën Arkiv. Spam-i dhe koshi mbeten pas përveç nëse i përfshini.
  • create e merr --files si JSON, në rresht ose nga një skedar me @path, dhe çdo bytes duhet të jetë madhësia e saktë e skedarit që ngarkoni më pas.
  • Çdo pjesë është saktësisht chunkBytes e gjatë, përveç pjesës së fundit të një skedari, dhe një pjesë me gjatësi të gabuar jep 400 bad_chunk. start refuzon një skedar me pjesë që mungojnë me 412 missing_chunks, dhe një që nuk është arkiv ose kuti postare me 400 unsupported_file. Te një import që ka dalë tashmë nga uploading, e kthen importin të pandryshuar.
  • Nëse një pjesë dështon ende pas riprovimeve të saj, import-files ndalet me importin të lënë në uploading. Blloku më poshtë dërgon pjesët që mungojnë të skedarit të parë dhe e nis atë.
  • Një import raporton processedBytes nga totalBytes, dhe counts me seen, imported, duplicate, filtered, failed dhe threads. lastError caktohet vetëm kur status është failed.
  • list-failures i jep çdo dështimi një reason: too-large (mbi 50 MB), unparseable, no-date, storage-error, unreadable-entry, encrypted-entry ose archive-limit, me subjektin dhe dërguesin aty ku mund të lexoheshin.
  • cancel te një import i përfunduar jep 409 not_cancellable. delete-upload anulon një import që është ende duke u ngarkuar, dhe refuzon një që është në radhë ose në ekzekutim me 409 still_running, ndaj anulojeni atë së pari.
Përfundoni një ngarkim që u ndal
openemail imports get "$import_id" --json > import.jsonopenemail imports upload-state "$import_id" --json > state.jsonchunk=$(jq .chunkBytes import.json)chunks=$(jq '.files[0].chunks' import.json)for i in $(seq 0 $((chunks - 1))); do  jq -e --argjson i "$i" '.received[0] | any(. == $i)' state.json > /dev/null && continue  dd if=takeout-001.zip bs="$chunk" skip="$i" count=1 2> /dev/null |    openemail imports upload-chunk "$import_id" 0 "$i" -doneopenemail imports start "$import_id"

Importet nga Resend

openemail provider-imports e zhvendos një hapësirë pune nga Resend me një çelës API të Resend me qasje të plotë. Ndalimet ruajnë arsyen e tyre, segmentet bëhen audienca, kontaktet e regjistruara vijnë me emrat e tyre, dhe shabllonet vijnë si shabllone HTML me variablat e tyre të deklaruara. Webhook-ët regjistrohen të fikur, sepse dorëzimet këtu nënshkruhen ndryshe. Një çelës nënshkrimi ose një token nuk mund të dalë nga Resend, ndaj domenet dhe çelësat API kthehen në vend të kësaj si listë kontrolli në raport.

KomandaÇfarë bën
openemail provider-imports inspect <api-key>Numëroni çfarë mban llogaria Resend, për çdo burim, para importimit. Asgjë nuk ruhet dhe çelësi nuk mbahet
openemail provider-imports create --resend-key <value> --resources <a,b>Vendosni në radhë një import të burimeve që emërtoni
openemail provider-imports listListoni një faqe të importeve nga ofruesit e dërgimit, më të rejat të parat, secili me raportin e tij
openemail provider-imports get <id>Lexoni një import: statusin, hapin ku ndodhet dhe raportin deri tani
openemail provider-imports cancel <id>Ndaloni importin dhe fshini çelësin e Resend. Ajo që ka ardhur tashmë mbetet. Kërkon konfirmim
  • Jepeni çelësin e Resend si @path për ta lexuar nga një skedar, ose si - për ta lexuar nga stdin, që të mbetet jashtë historikut të shell-it dhe listës së proceseve. Një çelës i shkruar në rreshtin e komandës funksionon ende, me një paralajmërim. --dry-run shtyp trupin me çelësin të fshehur.
  • --resources pranon cilindo nga suppressions, audiences, contacts, templates, webhooks, domains dhe api-keys, të ndarë me presje ose të përsëritur.
  • Një çelës vetëm për dërgim jep 400 restricted_key. Krijoni një çelës me qasje të plotë te Resend për importin, dhe revokojeni më pas.
  • inspect lexon faqen e parë të çdo burimi dhe kthen counts, një { count, more } për burim, me more të caktuar aty ku një burim shkon përtej faqes së tij të parë.
  • Një import ekzekutohet për hapësirë pune në një kohë, dhe një i dytë jep 409 already_running. Ekzekutimi dy herë i të njëjtit import nuk dyfishon asgjë. Çelësi mbahet i enkriptuar vetëm ndërsa importi ekzekutohet, dhe fshihet kur ai mbaron, dështon ose anulohet.
  • Kontaktet që u çregjistruan te Resend lihen jashtë dhe numërohen te report.contacts.unsubscribed.
  • report.domains liston çdo domen të Resend me një state: absent kur nuk është në këtë hapësirë pune, added kur është por nuk është i verifikuar, dhe verified, me regjistrimet që kishte te Resend. Shtoni një që mungon me openemail domains create. report.apiKeys emërton çelësat që duhen krijuar sërish me openemail keys create.
  • Me një hyrje me shfletues vetëm pronari i hapësirës së punës mund t'i përdorë këto komanda, dhe një anëtar merr 403 owner_only. Një çelës API nuk i nënshtrohet këtij kufizimi. Një çelës ose hyrje e kufizuar në adresa ose domene të caktuara nuk mund të inspektojë ose krijojë një import, meqë audiencat, ndalimet dhe shabllonet i përkasin gjithë hapësirës së punës.
  • create ka nevojë edhe për fushëveprimin e çdo burimi që sjell: audiences:write për audiencat, contacts:write dhe audiences:write për kontaktet, templates:write për shabllonet, webhooks:write për webhook-ët dhe domains:read për domenet.

Kalendari

openemail calendar lexon ngjarjet e kalendarit të gjetura në postë. Të treja komandat vetëm lexojnë. list-events e zbërthen çdo ngjarje në përsëritjet e saj brenda një dritareje kohore që jepni, ndaj një takim javor është një rresht për javë, dhe get-event e get-event-ics lexojnë një ngjarje të plotë. openemail open calendar hap kalendarin në aplikacionin web.

KomandaÇfarë bën
openemail calendar list-events --from <when> --to <when>Listoni një faqe përsëritjesh midis dy çasteve, të renditura sipas kohës së fillimit, secila duke treguar ngjarjen e vet përmes eventId
openemail calendar get-event <id>Lexoni një ngjarje me pjesëmarrësit dhe përgjigjet e tyre, rregullin e përsëritjes, datat e përjashtuara, organizatorin dhe kujtesat
openemail calendar get-event-ics <id>Shkarkoni ngjarjen si dokument iCalendar, të shtypur ose të shkruar në --out <file>
  • --from dhe --to janë data e orë ISO 8601 si 2026-10-01T00:00:00Z. --to duhet të jetë pas --from dhe të shumtën 366 ditë më vonë, meqë një seri që përsëritet nuk ka fund deri ku të listohet. Një kufi që mungon jep 422 invalid_parameter. Një kufi që nuk analizohet, një dritare e përmbysur ose tepër e gjatë, ose një zonë e panjohur jep 400 invalid_parameter.
  • --timezone është një zonë IANA si Europe/London, UTC kur lihet jashtë. Ajo zbërthen ngjarjet e ruajtura pa zonë të tyren, gjë që vendos ditën në të cilën bie një ngjarje gjithëditore.
  • get-event dhe get-event-ics marrin eventId e një përsëritjeje, jo uid e iCalendar. Një seri që përsëritet është një ngjarje e vetme, ndaj start dhe end i saj përshkruajnë instancën e parë.
  • Ngjarjet e anuluara listohen gjithashtu, me status CANCELLED. myPartstat është përgjigjja e regjistruar për çdo adresë që mban hapësira e punës në domenet e veta, dhe null kur asnjëra prej tyre nuk është pjesëmarrëse.
  • Ndarja në faqe vazhdon me --cursor dhe të njëjtën dritare kohore. Një çelës ose hyrje e kufizuar në adresa të caktuara sheh vetëm ngjarjet që i organizon ose ku merr pjesë njëra prej tyre, dhe çdo ngjarje tjetër jep 404.
  • get-event-ics deklaron METHOD:PUBLISH, ndaj importimi i tij e tregon ngjarjen siç është në vend që të ofrojë ta pranojë ose ta refuzojë. Ngjarjet me orë shkruhen si çaste UTC dhe ngjarjet gjithëditore si data. DTSTAMP është koha e shkarkimit, ndaj dy shkarkime të një ngjarjeje të pandryshuar ndryshojnë në atë rresht.

Cilësimet

openemail settings lexon dhe ndryshon preferencat e kutisë postare, si zona kohore, gjuha, formati i orës dhe listat e bllokimit. Katër cilësime i përkasin një adrese dhe jo hapësirës së punës: signature, openEmailSignature (fundi i faqes i OpenEmail), trackOpens dhe trackClicks. Emërtoni adresën me --address, ose *@acme.com për catch-all-in e një domeni.

KomandaÇfarë bën
openemail settings getLexoni çdo cilësim me vlerat e parazgjedhura të plotësuara. Me --address, katër cilësimet për adresë lexohen ashtu siç i zgjidh një dërgim nga ajo adresë
openemail settings updateNdryshoni cilësimet që jepni dhe mbani të tjerat. Përgjigjja është çdo cilësim, i lexuar sërish pas shkrimit
  • Pa --address, get i lexon katër cilësimet për adresë si vlerat e parazgjedhura të integruara: pa nënshkrim, fundi i faqes i OpenEmail i ndezur, dhe gjurmimi i hapjeve dhe i lidhjeve i ndezur. Me të, ato vijnë nga vlerat e vetë adresës, pastaj nga catch-all-i i domenit të saj kur catch-all-i e kapi atë adresë, pastaj nga vlerat e parazgjedhura. Një adresë plus pa cilësime të vetat lexon ato të adresës së saj bazë.
  • Pa --address, update refuzon --signature, --open-email-signature, --track-opens dhe --track-clicks me 422 address_required dhe nuk shkruan asgjë. Me të, update merr vetëm ato katër, dhe çdo gjë tjetër jep 422 not_per_address. Adresa duhet të jetë në këtë hapësirë pune, ose *@domain për një domen të verifikuar këtu me catch-all-in e ndezur.
  • Ndërprerësit fiken me --no- përpara: --no-open-email-signature, --no-track-opens dhe --no-track-clicks.
  • --signature është HTML me të shumtën 150,000 karaktere, i pastruar gjatë shkrimit, ndaj ajo që kthehet është ajo që do të dërgohet. Një varg bosh e heq. Nëse një dërgim e shton, varet nga dërgimi: shihni --signature te openemail emails send --help.
  • Flamujt mbulojnë fushat e zakonshme. --data merr çdo cilësim të ruajtur si JSON, në rresht, nga një skedar me @path ose nga stdin me -, si timeFormat, weekStart, undoSendEnabled, blockedSenders ose blockedDomains. Çelësat që cilësimet nuk i njohin hidhen pa gabim, dhe një çelës i njohur me llojin e gabuar jep 422 invalid_parameter.
  • Një listë si blockedDomains zëvendësohet e tëra, ndaj lexojeni së pari dhe dërgojeni prapa me ndryshimin tuaj, siç bën shembulli më poshtë. Një hyrje e listës së bllokimit tepër e shkurtër për të qenë rregull jep 422 blocklist_entry_too_broad.
  • --timezone dhe --language ruhen ashtu siç jepen, pa kontroll, ndaj kontrolloni një zonë ose një kod gjuhe para se ta dërgoni.
  • Fushat e privatësisë, externalImages, trustedSenders, blockedSenders, blockedDomains, blockedWords dhe useDefaultBlockedWords, i përkasin hapësirës së punës. Një çelës ose hyrje e kufizuar në adresa ose domene të caktuara nuk mund t'i ndryshojë, dhe mund të emërtojë te --address vetëm një adresë që mban, ose një catch-all në një domen që e mban të tërë. Cilido refuzim jep 422 capability_unsupported.
  • Një përditësim pa asgjë brenda nuk ndryshon asgjë dhe kthen cilësimet aktuale. defaultEmailAlias vetëm parazgjedh adresën From në kompozuesin e aplikacionit web, dhe API nuk e përdor kurrë për të zgjedhur një dërgues.

Shembuj

Ngarkoni një skedar dhe ndajeni me lidhje
file_id=$(openemail files upload ./price-list.pdf --json | jq -r .id)openemail files create-link "$file_id" --domain acme.com --json | jq -r .urlopenemail files list-links "$file_id"openemail files download "$file_id" --out copy.pdf

Çdo create-link krijon një lidhje të re, ndaj ekzekutojeni një herë dhe lexojeni lidhjen sërish me list-links. revoke-link e ndal më vonë, edhe në postën që është nisur tashmë.

Pastroni çdo ngarkim që nuk e përdor asgjë
openemail files list --direction uploaded --all | jq -r 'select(.deletable) | .id' > deletable.txtwc -l < deletable.txtxargs -r -n 100 openemail files delete-many --yes --json < deletable.txt | jq -c '.kept[]'

Me --all në një pipe, files list shtyp një skedar për rresht. xargs -n 100 i jep delete-many të shumtën 100 id për thirrje, dhe çdo skedar që u përdor ndërkohë kthehet te kept me arsyen e vet në vend që ta dështojë thirrjen.

Importoni një kuti postare të vjetër dhe ndiqeni
domain_id=$(openemail domains list --all | jq -r 'select(.domain == "acme.com") | .id')address_id=$(openemail domains list-addresses "$domain_id" --all | jq -r 'select(.address == "[email protected]") | .id')openemail imports import-files --address-id "$address_id" --files ~/Downloads/takeout-001.zip --files ~/Downloads/takeout-002.zip --json > import.jsonimport_id=$(jq -r .id import.json)until openemail imports get "$import_id" --json | jq -e '.status != "queued" and .status != "running"' > /dev/null; do  sleep 60doneopenemail imports get "$import_id" --json | jq '{status, counts, lastError}'openemail imports list-failures "$import_id" --json | jq -r '.data[] | [.reason, .subject] | @tsv'

--dry-run te import-files shtyp POST /imports që do të dërgonte, me emrin dhe madhësinë e çdo skedari, dhe nuk ngarkon asgjë. list-failures lexon 100 në një kohë: jepni nextCursor që shtypi si --after për faqen tjetër.

Kalo nga Resend
openemail provider-imports inspect @resend-key.txtopenemail provider-imports create --resend-key @resend-key.txt --resources suppressions,audiences,contacts,templates,webhooks,domains,api-keys --json > resend.jsonpimp_id=$(jq -r .id resend.json)until openemail provider-imports get "$pimp_id" --json | jq -e '.status != "queued" and .status != "running"' > /dev/null; do  sleep 10doneopenemail provider-imports get "$pimp_id" --json | jq '.report | {contacts, domains: [.domains[] | {name, state}], apiKeys: [.apiKeys[].name]}'
Lexoni një muaj takimesh
openemail calendar list-events --from 2026-10-01T00:00:00Z --to 2026-11-01T00:00:00Z --timezone Europe/London --all |  jq -r 'select(.status != "CANCELLED") | [.start, .summary, .myPartstat] | @tsv'openemail calendar get-event cal_8d3f0a2b9c4e41f7a6b5c2d1 --json | jq '.attendees[] | {email, partstat}'openemail calendar get-event-ics cal_8d3f0a2b9c4e41f7a6b5c2d1 --out standup.ics
Nënshkrimi, gjurmimi dhe lista e bllokimit
openemail settings get --address [email protected] --json | jq '{signature, openEmailSignature, trackOpens, trackClicks}'openemail settings update --address [email protected] --signature "$(cat signature.html)" --no-track-clicks --dry-runopenemail settings update --address [email protected] --signature "$(cat signature.html)" --no-track-clicksopenemail settings update --address '*@acme.com' --no-track-opensopenemail settings update --timezone Europe/London --language enopenemail settings get --json | jq -c '{blockedDomains: ((.blockedDomains + ["spam.example"]) | unique)}' |  openemail settings update --data -

Ekzekutimi provë shtyp PATCH /settings?address=sales%40acme.com dhe trupin e tij pa e dërguar. Rreshti i catch-all-it cakton gjurmimin për çdo adresë që kap catch-all-i i acme.com, dhe rreshti i fundit shton një domen në listën e bllokimit pa hequr të tjerët.

Fushëveprimet, konfirmimet dhe gabimet

FushëveprimiKomandat
files:readfiles list, get, stats, download, list-links
files:writefiles create-link, revoke-link, upload, delete, delete-many
threads:readimports list, get, list-failures
threads:writeimports create, upload-state, upload-chunk, start, cancel, delete-upload, import-files
settings:readprovider-imports list, get, dhe settings get
settings:writeprovider-imports inspect, create, cancel, dhe settings update
calendar:readcalendar list-events, get-event, get-event-ics
  • Një hyrje ose çelës pa fushëveprimin ndalet me kodin e daljes 4, emërton fushëveprimin që mungon dhe tregon si ta merrni.
  • files revoke-link, files delete, files delete-many, imports cancel, imports delete-upload dhe provider-imports cancel kërkojnë konfirmim. Përgjigjja jo del me kodin 10 dhe nuk ndryshon asgjë. Pa mbikëqyrje dhe pa --yes, ndalen me kodin e daljes 2 para se të dërgohet ndonjë gjë.
  • Asnjë komandë këtu nuk kërkon kod verifikimi, as me hyrje me shfletues as me çelës API, ndaj --yes është gjithçka që i duhet një skripti.
  • --dry-run shtyp kërkesën që do të dërgonte një ndryshim, me trupin e saj, dhe del me kodin 0 pa e dërguar dhe pa ju kërkuar konfirmim. Trupi i një skedari tregohet me madhësinë dhe llojin e tij.
  • files list, files list-links, imports list, provider-imports list dhe calendar list-events lexojnë një faqe: --limit merr nga 1 deri në 100 dhe serveri dërgon 25 kur lihet jashtë, dhe --cursor merr nextCursor e faqes së mëparshme. --all lexon çdo faqe, --max <n> ndalet pas aq elementeve, dhe --ndjson, ose --all në një pipe, shtyp një objekt JSON për rresht. Me --json shtypin një dokument të vetëm { items, hasMore, nextCursor }.
  • imports list-failures i ndan faqet në mënyrën e vet: --after merr nextCursor e faqes së mëparshme, --limit është të shumtën 100, vlera e parazgjedhur, dhe nuk ka --all. Me --json shtyp { object, data, nextCursor }.
  • Leximet dhe ndryshimet që japin të njëjtin rezultat dy herë riprovohen pas një dështimi rrjeti: files revoke-link, imports upload-chunk, imports start dhe settings update. Çdo ndryshim tjetër dërgohet një herë. Pas një përgjigjeje të humbur, kontrolloni para se të provoni sërish: një upload i dytë ruan një kopje të dytë dhe një create-link i dytë krijon një lidhje të dytë, një 404 në files delete tuaj të dytë do të thotë se i pari funksionoi, dhe një delete-many i dytë liston te missing atë që fshiu i pari.
  • Një refuzim del me kodin e statusit të vet: 4 për një 403, 5 për një 404, 6 për një 409, 7 për një 400 ose një 422, dhe 8 për një 429.

Ku të shkoni më pas

Kutia juaj hyrëse,
sipas kushteve tuaja.

Infrastrukturë emaili për biznese, AI, agjentë dhe email personal. E ndërtuar për shkallë, privatësi dhe kontroll. Gjithçka që emaili duhej ta kishte që ditën e parë.

OpenEmail

Infrastrukturë emaili për biznese, AI, agjentë dhe email personal. E ndërtuar për shkallë, privatësi dhe kontroll. Gjithçka që emaili duhej ta kishte që ditën e parë.

© 2026 OpenEmail. Të gjitha të drejtat e rezervuara.