Kalo te dokumentacioni
API

Inbox-e të përkohshëm

Një adresë që punon, për dikë që nuk ka: pa llogari, pa çelës, dhe e zhdukur po atë ditë.

Çfarë është një inbox i përkohshëm

Një thirrës kërkon një adresë në një domen që e zotëron ky install, e vëzhgon për pak minuta, lexon çfarë mbërrin dhe e braktis. Ajo ekziston për kodin e konfirmimit, për pyetjen "çfarë dërgon në të vërtetë ky formular", dhe për regjistrimin që nuk doni t'ia lidhni adresës që do ta përdorni ende pas pesë vjetësh.

  • Ajo vetëm merr, asgjë tjetër. Nuk ka dërgim: një inbox nuk ka identitet me të cilin të dërgojë, dhe asnjëra nga këto nëntë thirrje nuk do të vërë mesazh në rrjet.
  • Afati është 60 minuta si parazgjedhje dhe mund të shtyhet deri në 24 orë, nga një orë në çdo hap.
  • Ajo mban 50 mesazhe, të numëruara ndërsa mbërrijnë. Posta që arrin një inbox të plotë hidhet poshtë, nuk vihet në radhë, dhe fshirja e një mesazhi nuk ju blen vend për një tjetër.
  • Në fund të afatit posta FSHIHET, nuk fshihet nga sytë dhe nuk arkivohet. Rreshti i mbijeton asaj edhe një javë, që adresa të mos mund të rilëshohet ndërkohë që një dërgues i ngadaltë ende po riprovon drejt saj.
  • Asgjë prej saj nuk prek një kuti postare. Një mesazh i përkohshëm rron në tabelën e vet, dhe asnjë query në këtë rrugë nuk mund të arrijë një të vërtetë.

Këto janë po ato thirrje që bën mjeti falas në këtë sajt, prandaj çdo gjë që bën faqja mund ta bëjë kodi juaj. API-ja është këtu për rastin kur faqja nuk është: një suitë testesh që do një adresë të freskët për çdo ekzekutim.

Adresa nuk është kredenciali

Një adresë e përkohshme shtypet në një formular regjistrimi në çastin që lëshohet. Prej aty ajo udhëton në një header To:, nëpër regjistrat e dërguesit, dhe në çfarëdo CRM-je që rri në anën tjetër. Po të mjaftonte njohja e adresës për të lexuar postën, mjeti do të rridhte çdo inbox që lëshon, nga vetë dizajni, dhe pikërisht te pala të cilën thirrësi po e mbante në distancë.

Prandaj krijimi i një inbox-i kthen një vlerë të dytë: një token, 32 bajt të rastësishëm si oe_inbox_ plus 43 karaktere base64url. Ai shfaqet në atë përgjigje të vetme dhe në asnjë tjetër. Rreshti ruan vetëm një hash të tij me çelës, prandaj asgjë nuk e rikthen, as një kërkesë mbështetjeje dhe as një dump i bazës së të dhënave. Humbeni token-in dhe keni humbur inbox-in, që është rezultati i saktë për një kredencial që lexon postën e dikujt.

I gjithë procesi
# 1. Mint one. This is the only response that carries a token.curl -s -X POST "$OE/temp-mail/inboxes" -H "Content-Type: application/json" -d '{}' # 2. Keep it, and read with it.export INBOX="Authorization: Bearer oe_inbox_kQ8v…"curl -s "$OE/temp-mail/inboxes/tinb_9c2f…/messages" -H "$INBOX"

Dërgoni një çelës API oe_live_ ose oe_test_ te njëra nga këto rrugë dhe ai refuzohet si invalid_credential_type dhe jo si një 401 e thatë. Këtu dy lloje kredencialesh ndajnë një host dhe një header, dhe "i paautorizuar" do t'ju linte të hamendësonit se cili prej tuajve ishte i gabuar.

Afati dhe zgjatja e tij

Një orë, në vend të dhjetë minutave me të cilat është emërtuar zhanri. Dhjetë mjaftojnë për një kod konfirmimi dhe nuk mjaftojnë për gjysmën tjetër të asaj për të cilën përdoren këto: një provë falas që ju shkruan sërish të nesërmen në mëngjes, një formular i plotësuar dy herë sepse përpjekjes së parë i skadoi koha. ttlMinutes në krijim kërkon diçka tjetër, nga 1 deri në 1440; një numër jashtë atij intervali refuzohet me një 422 në vend që të rregullohet në heshtje, sepse një skadim që nuk e kërkuat është një skadim rreth të cilit tashmë keni bërë plane.

POST /temp-mail/inboxes/{id}/extend i shton një orë skadimit, jo çastit tani, prandaj zgjatja herët nuk e harxhon kohën që ju ka mbetur. Ai punon 23 herë, dhe dita e llogaritur nga çasti i krijimit të inbox-it është më i ashpri nga dy tavanet: një afat që shkon tashmë deri atje nuk ka më çfarë të blejë, sado pak zgjatje të jenë shpenzuar. extensionsLeft në çdo përgjigje inbox-i i numëron të dyja, që një klient të mund ta çaktivizojë butonin; te zero thirrja përgjigjet me 409 extension_limit.

Një inbox i skaduar ndalon së autentikuari në çastin që skadon: token-i i tij kthen 404 pa pritur fshirjen periodike. Fshirja periodike është ajo që e fshin postën dhe ekzekutohet në cron-in e çdo ore; DELETE /temp-mail/inboxes/{id} është e njëjta fshirje, sipas kërkesës.

Tavanet

Të gjitha këto janë rreshta të numëruar dhe jo një kufizues shpejtësie. Në këtë kod nuk ka asnjë kufizues për t'u kapur, dhe të thuash këtë është më e dobishme sesa të nënkuptosh një mbrojtje që nuk ekziston. Ato janë vendosur aty ku do të ishte dëmi: te krijimi dhe te ruajtja.

TavaniVleraÇfarë ndodh kur arrihet
Afati60 minuta, i zgjatshëm deri në 24 orë409 conflict_error / extension_limit
Mesazhe për inbox50Posta e mëtejshme hidhet poshtë që te dera. Nuk shkruhet asnjë bounce, asgjë nuk vihet në radhë, dhe fshirja e një mesazhi nuk e kthen vendin.
Inbox-e të krijuar6 në orë, 30 në ditë, për çdo thirrës429 rate_limit_error / too_many_inboxes
Trupi i ruajtur2 MBtruncated: true te mesazhi; pjesa tjetër e tij ka ikur.
Bajtet e bashkëngjitjeve8 MB secilacontent është null dhe metadata ruhet, gjë që nuk është e njëjta gjë me një skedar bosh.

Tavani i krijimit numërohet kundrejt një hash-i me çelës të IP-së së klientit, dhe një inbox i shkatërruar vazhdon të numërohet, prandaj hedhja tej e njërit nuk është mënyrë për të blerë një tjetër. Pas proxy-t të dikujt tjetër headeri i forwarded-it mund të falsifikohet, gjë që është dobësi e njohur e tavanit dhe jo vrimë në kredencial: asgjë këtu nuk autorizon mbi atë vlerë.

Çfarë nuk ka këtu

Ende e palëshuar

Të zbulosh duke provuar është më keq sesa të të thuhet:

  • Asnjë dërgim, në asnjë formë. Një inbox i përkohshëm nuk ka connection me të cilin të dërgojë, dhe shtimi i njërit do ta kthente një endpoint anonim e të paautentikuar në një rele të hapur.
  • Pa riemërtim. Ndryshimi i adresës suaj do të thotë krijim i një inbox-i të dytë: riemërtimi në vend do ta lironte local-part-in e vjetër në çastin që klikohej, dhe një konfirmim që është tashmë rrugës do t'i dorëzohej atij që do ta merrte më pas.
  • Pa rregulla, pa filtra, pa forward, pa webhook-ë dhe pa AI. spam është një flamur te mesazhi dhe askush nuk veproi mbi të. Asgjë nuk u arkivua diku, dhe asgjë këtu nuk përmblidhet ose kthehet në embedding.
  • Pa bounce. Posta drejt një domeni të pool-it, që nuk emërton as një inbox të përkohshëm aktiv dhe as një adresë të krijuar nga operatori, hidhet poshtë në heshtje, me qëllim: një gjenerues publik adresash tërheq sulme fjalori, dhe shkrimi i një raporti dorëzimi drejt çfarëdo rruge kthimi që pretendon sulmi do ta bënte install-in burim backscatter-i.
  • Pa domen të konfiguruar nuk ka shërbim. Kur TEMP_MAIL_DOMAINS është bosh, GET /temp-mail/domains përgjigjet me një listë bosh dhe krijimi i një inbox-i përgjigjet me 503 temp_mail_unavailable. Dorëzimi hyrës te një domen i pool-it nuk është vëzhguar skaj më skaj në një domen aktiv.

Konfigurimi i një domeni, nëse e mbani ju install-in

Lista është konfigurim: çfarëdo që emërton TEMP_MAIL_DOMAINS është ajo që u jepet njerëzve. Asgjë nuk e automatizon DNS-në, prandaj katër nga këto pesë hapa janë një njeri te një regjistrues domenesh.

  1. Regjistroni një domen për të. Përdorni një që jeni gati t'ua lini të panjohurve. Çdo adresë në të ndan reputacionin e tij, që është edhe arsyeja pse zgjedhësi i shpërndan inbox-et e reja rastësisht nëpër pool në vend që të mbushë të parin.
  2. Shtojeni në aplikacion te Settings → Domains. Kjo krijon identitetin e dërgimit dhe shtyp regjistrimet DNS për t'u publikuar.
  3. Publikoni regjistrimet MX, SPF, DKIM dhe TXT _openemail-challenge te regjistruesi. Verifikimi lexon DNS-në e drejtpërdrejtë dhe rikontrollohet në cron; ofrohet vetëm një domen i verifikuar.
  4. Shtoni domenin e verifikuar te TEMP_MAIL_DOMAINS në server, të ndarë me presje. Derisa të jetë në listë, ai është një domen i zakonshëm i hapësirës së punës.
  5. Lëreni catch-all NDEZUR. Kjo është ajo që bën të ekzistojë një adresë e përkohshme pa u krijuar, sepse posta drejt çdo local part pranohet dhe lexohet përpara kërkimit të zakonshëm të marrësit, prandaj për një domen të pool-it nuk shkruhet kurrë rresht adrese; lënia e catch-all e ndezur do të fillonte t'i arkivonte mesazhet e njëhershme në një kuti postare të vërtetë.

Local-part-et e rezervuara (postmaster, abuse, security dhe pjesa tjetër e RFC 2142) nuk mund të jenë kurrë të përkohshme dhe bien te kutia postare e zakonshme. Një domen pool-i që i zhduk vetë raportet e abuzimit është një domen që pushon së mundshmi të dorëzojë kudo. Një adresë që e krijoni vetë në një domen pool-i, si legal@ ose privacy@, sillet njësoj: posta drejt saj mbërrin në kutinë tuaj postare, dhe askujt nuk mund t'i jepet si adresë e përkohshme.

Në këtë seksion