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 dhecal_për një ngjarje kalendari, secila e ndjekur nga 24 karaktere hex. Një lidhje shkarkimi ka një id të vetën, ngafiles list-linksosefiles create-link. --address-idte një import është id-ja e një adrese, ngaopenemail domains list-addresses <id>, jo vetë adresa.- Hapësirat e emrave u përgjigjen edhe
file,import,provider-importoseproviderImports, dhesetting. Foljet pranojnë pseudonimet e zakonshme aty ku i kanë:lspërlist,showdheviewpërget,newdheaddpërcreate,editpërsettings update, dherm,deldheremovepërfiles 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
--yespërgjigjet për një skript. openemail <command> --helpliston çdo argument dhe flamur me llojin e tij, fushëveprimin që i duhet thirrjes, metodën dhe shtegun, dhe çfarë kthehet. Shtoni--jsonpë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 list | Listoni 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 stats | Numë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 listngushtohet me--q(emri dhe lloji),--kind(image,pdf,audio,videoosetext),--direction(inbound,outboundoseuploaded),--address,--sincedhe--until, dhe renditet me--sort(newest,oldest,largestosename).--sincedhe--untilmarrin një datë ose datë e orë ISO 8601:--sincee përfshin çastin e vet dhe--untilndalet para tij.- Vetëm një ngarkim nga i cili nuk varet asgjë mund të fshihet, dhe
deletablee tregon këtë paraprakisht.usagetregon çfarë e mban çdo skedar tjetër:received,sent,linkedpër një ngarkim lidhja e shkarkimit e të cilit ende funksionon, osescheduledpër një të bashkëngjitur te një mesazh që nuk është nisur ende.deletei refuzon ato me 409file_in_use.delete-manyfshin atë që mundet, liston të tjerat tekeptme një arsye secila, dhe liston id-të e panjohura temissing. uploadlexon skedarin në shtegun që jepni dhe e ruan me emrin e atij skedari, me llojin që nënkupton prapashtesa e tij.--filenamedhe--content-typei mbishkruajnë. Nga stdin,-kërkon--filename, dhe pa--content-typelloji ështëapplication/octet-stream. Ngarkimi pret deri në 10 minuta, gjë që e ndryshon--timeout-ms.- Id-ja që kthen
uploade bashkëngjit skedarin në një dërgim si{ "fileId": "…" }teopenemail 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 400upload_dangerous, dhe një skedar mbi 100 MB jep 413upload_too_large. Një hapësirë pune mban deri në 10 GB ngarkime dhe pranon 500 ngarkime në orë. downloadkërkon--out <file>në terminal dhe pa të ndalet me kodin e daljes2. Kur dalja dërgohet në pipe, bajtet shkojnë në stdout, dhe--out -kërkon gjithashtu stdout. I gjithë skedari mbahet në memorie.create-linkkrijon 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ë--domainkur ai domen ka një të tillë, sifiles.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 422file_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 list | Listoni 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-filesmerr--filesnjë herë për skedar, ose disa shtigje të ndara me presje, dhe dërgon secilin me emrin e vet të skedarit.--optionsmerr JSON si{"keepInbox":false,"includeSpam":true}. Tecreatetë njëjtat tri janë ndërprerës:--options-keep-inbox,--options-include-spamdhe--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.createe merr--filessi JSON, në rresht ose nga një skedar me@path, dhe çdobytesduhet të jetë madhësia e saktë e skedarit që ngarkoni më pas.- Çdo pjesë është saktësisht
chunkBytese gjatë, përveç pjesës së fundit të një skedari, dhe një pjesë me gjatësi të gabuar jep 400bad_chunk.startrefuzon një skedar me pjesë që mungojnë me 412missing_chunks, dhe një që nuk është arkiv ose kuti postare me 400unsupported_file. Te një import që ka dalë tashmë ngauploading, e kthen importin të pandryshuar. - Nëse një pjesë dështon ende pas riprovimeve të saj,
import-filesndalet 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
processedBytesngatotalBytes, dhecountsmeseen,imported,duplicate,filtered,faileddhethreads.lastErrorcaktohet vetëm kurstatusështëfailed. list-failuresi jep çdo dështimi njëreason:too-large(mbi 50 MB),unparseable,no-date,storage-error,unreadable-entry,encrypted-entryosearchive-limit, me subjektin dhe dërguesin aty ku mund të lexoheshin.cancelte një import i përfunduar jep 409not_cancellable.delete-uploadanulon një import që është ende duke u ngarkuar, dhe refuzon një që është në radhë ose në ekzekutim me 409still_running, ndaj anulojeni atë së pari.
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 list | Listoni 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
@pathpë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-runshtyp trupin me çelësin të fshehur. --resourcespranon cilindo ngasuppressions,audiences,contacts,templates,webhooks,domainsdheapi-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. inspectlexon faqen e parë të çdo burimi dhe kthencounts, një{ count, more }për burim, memoretë 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.domainsliston çdo domen të Resend me njëstate:absentkur nuk është në këtë hapësirë pune,addedkur është por nuk është i verifikuar, dheverified, me regjistrimet që kishte te Resend. Shtoni një që mungon meopenemail domains create.report.apiKeysemërton çelësat që duhen krijuar sërish meopenemail 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. createka nevojë edhe për fushëveprimin e çdo burimi që sjell:audiences:writepër audiencat,contacts:writedheaudiences:writepër kontaktet,templates:writepër shabllonet,webhooks:writepër webhook-ët dhedomains:readpë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> |
--fromdhe--tojanë data e orë ISO 8601 si2026-10-01T00:00:00Z.--toduhet të jetë pas--fromdhe 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 422invalid_parameter. Një kufi që nuk analizohet, një dritare e përmbysur ose tepër e gjatë, ose një zonë e panjohur jep 400invalid_parameter.--timezoneështë një zonë IANA siEurope/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-eventdheget-event-icsmarrineventIde një përsëritjeje, jouide iCalendar. Një seri që përsëritet është një ngjarje e vetme, ndajstartdheendi saj përshkruajnë instancën e parë.- Ngjarjet e anuluara listohen gjithashtu, me
statusCANCELLED.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
--cursordhe 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-icsdeklaronMETHOD: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 get | Lexoni ç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 update | Ndryshoni cilësimet që jepni dhe mbani të tjerat. Përgjigjja është çdo cilësim, i lexuar sërish pas shkrimit |
- Pa
--address,geti 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,updaterefuzon--signature,--open-email-signature,--track-opensdhe--track-clicksme 422address_requireddhe nuk shkruan asgjë. Me të,updatemerr vetëm ato katër, dhe çdo gjë tjetër jep 422not_per_address. Adresa duhet të jetë në këtë hapësirë pune, ose*@domainpë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-opensdhe--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--signatureteopenemail emails send --help.- Flamujt mbulojnë fushat e zakonshme.
--datamerr çdo cilësim të ruajtur si JSON, në rresht, nga një skedar me@pathose nga stdin me-, sitimeFormat,weekStart,undoSendEnabled,blockedSendersoseblockedDomains. Çelësat që cilësimet nuk i njohin hidhen pa gabim, dhe një çelës i njohur me llojin e gabuar jep 422invalid_parameter. - Një listë si
blockedDomainszë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 422blocklist_entry_too_broad. --timezonedhe--languageruhen 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,blockedWordsdheuseDefaultBlockedWords, 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--addressvetëm një adresë që mban, ose një catch-all në një domen që e mban të tërë. Cilido refuzim jep 422capability_unsupported. - Një përditësim pa asgjë brenda nuk ndryshon asgjë dhe kthen cilësimet aktuale.
defaultEmailAliasvetë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
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ë.
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.
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.
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]}'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.icsopenemail 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ëveprimi | Komandat |
|---|---|
| files:read | files list, get, stats, download, list-links |
| files:write | files create-link, revoke-link, upload, delete, delete-many |
| threads:read | imports list, get, list-failures |
| threads:write | imports create, upload-state, upload-chunk, start, cancel, delete-upload, import-files |
| settings:read | provider-imports list, get, dhe settings get |
| settings:write | provider-imports inspect, create, cancel, dhe settings update |
| calendar:read | calendar 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-uploaddheprovider-imports cancelkërkojnë konfirmim. Përgjigjja jo del me kodin10dhe nuk ndryshon asgjë. Pa mbikëqyrje dhe pa--yes, ndalen me kodin e daljes2para 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-runshtyp kërkesën që do të dërgonte një ndryshim, me trupin e saj, dhe del me kodin0pa 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 listdhecalendar list-eventslexojnë një faqe:--limitmerr nga 1 deri në 100 dhe serveri dërgon 25 kur lihet jashtë, dhe--cursormerrnextCursore faqes së mëparshme.--alllexon çdo faqe,--max <n>ndalet pas aq elementeve, dhe--ndjson, ose--allnë një pipe, shtyp një objekt JSON për rresht. Me--jsonshtypin një dokument të vetëm{ items, hasMore, nextCursor }.imports list-failuresi ndan faqet në mënyrën e vet:--aftermerrnextCursore faqes së mëparshme,--limitështë të shumtën 100, vlera e parazgjedhur, dhe nuk ka--all. Me--jsonshtyp{ 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 startdhesettings update. Çdo ndryshim tjetër dërgohet një herë. Pas një përgjigjeje të humbur, kontrolloni para se të provoni sërish: njëuploadi dytë ruan një kopje të dytë dhe njëcreate-linki dytë krijon një lidhje të dytë, një 404 nëfiles deletetuaj të dytë do të thotë se i pari funksionoi, dhe njëdelete-manyi dytë liston temissingatë që fshiu i pari. - Një refuzim del me kodin e statusit të vet:
4për një 403,5për një 404,6për një 409,7për një 400 ose një 422, dhe8për një 429.