Vienreizlietojamas iesūtnes
Strādājoša adrese tam, kam tādas nav: bez konta, bez atslēgas un pazūd tajā pašā dienā.
Kas ir vienreizlietojama iesūtne
Izsaucējs pieprasa adresi uz domēna, kas pieder šai instalācijai, vēro to dažas minūtes, izlasa visu, kas pienāk, un pamet to. Tā pastāv apstiprinājuma koda dēļ, jautājuma „ko šī forma īsti sūta“ dēļ un tās reģistrēšanās dēļ, kuru nevēlaties piesaistīt adresei, ko lietosiet vēl pēc pieciem gadiem.
- Tā tikai saņem un neko citu. Sūtīšanas nav: iesūtnei nav identitātes, kuras vārdā sūtīt, un neviens no šiem deviņiem izsaukumiem ziņojumu tīklā nelaidīs.
- Noma pēc noklusējuma ir 60 minūtes, un to var pagarināt līdz 24 stundām, pa stundai.
- Tā tur 50 ziņojumus, skaitot tos pienākšanas brīdī. Pasts, kas nonāk pilnā iesūtnē, tiek atmests, nevis novietots rindā, un viena ziņojuma dzēšana vietu citam nedod.
- Nomas beigās pasts tiek DZĒSTS, nevis paslēpts un nevis arhivēts. Rinda to pārdzīvo par nedēļu, lai adresi nevarētu izdot no jauna, kamēr kāds lēns sūtītājs vēl mēģina uz to piegādāt.
- Nekas no tā neskar pastkasti. Vienreizlietojams ziņojums dzīvo savā tabulā, un neviens vaicājums šajā ceļā nevar aizsniegt īstu.
Šie ir tie paši izsaukumi, ko veic bezmaksas rīks šajā vietnē, tāpēc visu, ko var lapa, var arī jūsu kods. API ir šeit tam gadījumam, kad lapas nav: testu komplektam, kas katrā palaišanā grib svaigu adresi.
Adrese nav akreditācijas dati
Vienreizlietojama adrese tiek ierakstīta reģistrācijas formā jau izdošanas brīdī. No turienes tā ceļo To: galvenē, cauri sūtītāja žurnāliem un nonāk tajā CRM, kas gaida otrā galā. Ja adreses zināšana būtu pietiekama, lai lasītu pastu, rīks pēc konstrukcijas noplūdinātu katru izdoto iesūtni — un tieši tai pusei, ko izsaucējs turēja izstieptas rokas attālumā.
Tāpēc iesūtnes izveide atgriež otru vērtību: token, 32 nejaušus baitus kā oe_inbox_ plus 43 base64url rakstzīmes. Tas parādās tikai šajā vienā atbildē un nekur citur. Rinda glabā vienīgi tā atslēgoto jaucējvērtību, tāpēc to neatgūst nekas — ne atbalsta pieprasījums, ne datubāzes izgāztuve. Pazaudējiet marķieri, un esat pazaudējis iesūtni, kas ir pareizais iznākums akreditācijas datiem, kuri lasa kāda cita pastu.
# 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"Nosūtiet oe_live_ vai oe_test_ API atslēgu uz kādu no šiem maršrutiem, un tā tiks atteikta kā invalid_credential_type, nevis ar pliku 401. Šeit vienu resursdatoru un vienu galveni dala divu veidu akreditācijas dati, un „neautorizēts“ liktu jums minēt, kuri no jūsējiem bija nepareizie.
Noma un tās pagarināšana
Stunda, nevis desmit minūtes, pēc kurām šis žanrs ir nosaukts. Desmit pietiek apstiprinājuma kodam un nepietiek otrai pusei no tā, kam šīs lietas izmanto: izmēģinājumam, kas atraksta nākamajā rītā, formai, kas aizpildīta divreiz, jo pirmajam mēģinājumam beidzās laiks. ttlMinutes izveides brīdī prasa ko citu, no 1 līdz 1440; skaitlis ārpus šī diapazona tiek atteikts ar 422, nevis klusi pielāgots, jo derīguma termiņš, ko neprasījāt, ir termiņš, ap kuru jau esat plānojis.
POST /temp-mail/inboxes/{id}/extend pieskaita stundu derīguma termiņam, nevis pašreizējam brīdim, tāpēc agra pagarināšana neizšķērdē atlikušo laiku. Tas nostrādā 23 reizes, un diena no iesūtnes izveides brīža ir bargākais no abiem ierobežojumiem: nomai, kas jau sniedzas līdz tam, nav ko pirkt klāt, lai cik maz pagarinājumu būtu iztērēts. extensionsLeft katrā iesūtnes atbildē skaita abus, tāpēc klients var pogu padarīt neaktīvu; pie nulles izsaukums atbild ar 409 extension_limit.
Iesūtne, kurai beidzies termiņš, pārstāj autentificēt tieši tajā brīdī: tās marķieris atbild ar 404, negaidot tīrīšanu. Tīrīšana ir tā, kas dzēš pastu, un tā notiek ik stundas cron darbā; DELETE /temp-mail/inboxes/{id} ir tā pati dzēšana pēc pieprasījuma.
Griesti
Visi šie ir skaitītas rindas, nevis ātruma ierobežotājs. Šajā kodu bāzē nav ierobežotāja, ko izmantot, un to pateikt ir noderīgāk nekā mājot uz aizsardzību, kuras nav. Tie ir novietoti tur, kur būtu kaitējums: izdošanā un glabāšanā.
| Griesti | Vērtība | Kas notiek, tos sasniedzot |
|---|---|---|
| Noma | 60 minūtes, pagarināmas līdz 24 stundām | 409 conflict_error / extension_limit |
| Ziņojumi vienā iesūtnē | 50 | Tālākais pasts tiek atmests jau pie durvīm. Neviena atteikuma vēstule netiek rakstīta, nekas netiek novietots rindā, un ziņojuma dzēšana vietu atpakaļ nedod. |
| Izdotās iesūtnes | 6 stundā, 30 dienā vienam izsaucējam | 429 rate_limit_error / too_many_inboxes |
| Saglabātais pamatteksts | 2 MB | truncated: true uz ziņojuma; pārējais ir pazudis. |
| Pielikuma baiti | 8 MB katram | content ir null, un metadati tiek saglabāti, kas nav tas pats, kas tukšs fails. |
Izdošanas griesti tiek skaitīti pret klienta IP atslēgoto jaucējvērtību, un iznīcināta iesūtne joprojām tiek ieskaitīta, tāpēc tās izmešana nav veids, kā nopirkt vēl vienu. Aiz kāda cita starpniekservera pārsūtīto galveni var viltot, un tā ir zināma griestu vājība, nevis caurums akreditācijas datos: nekas šeit uz šo vērtību neautorizē.
Kas šeit nav
Vēl nav izlaistsUzzināt mēģinot ir sliktāk nekā tikt brīdinātam:
- Nekādas sūtīšanas nekādā veidā. Vienreizlietojamai iesūtnei nav savienojuma, kura vārdā sūtīt, un tāda pievienošana anonīmu, neautentificētu galapunktu pārvērstu par atvērtu retranslatoru.
- Nekādas pārdēvēšanas. Mainīt adresi nozīmē izveidot otru iesūtni: pārdēvēšana uz vietas atbrīvotu veco lokālo daļu tajā pašā mirklī, kad uz tās nospiestu, un jau ceļā esošs apstiprinājums tiktu piegādāts tam, kam tā izdota nākamajam.
- Nekādu noteikumu, filtru, pārsūtīšanas, webhook vai AI.
spamir karodziņš uz ziņojuma, un neviens pēc tā nav rīkojies. Nekas nav kaut kur nokārtots, un nekas šeit netiek apkopots vai iegults. - Nekādu atteikuma vēstuļu. Pasts uz koplietojamu domēnu, kas nenosauc ne dzīvu vienreizlietojamu iesūtni, ne operatora izveidotu adresi, tiek klusi atmests, un tas ir ar nolūku: publisks adrešu ģenerators pievelk vārdnīcas uzbrukumus, un piegādes atskaites rakstīšana uz to atpakaļceļu, ko norāda uzbrukums, padarītu instalāciju par backscatter avotu.
- Nav konfigurēta domēna — nav pakalpojuma. Kad
TEMP_MAIL_DOMAINSir tukšs,GET /temp-mail/domainsatbild ar tukšu sarakstu, un iesūtnes izveide atbild ar 503temp_mail_unavailable. Ienākošā piegāde uz koplietojamu domēnu nav pārbaudīta no gala līdz galam uz reāla domēna.
Domēna konfigurēšana, ja instalāciju uzturat jūs
Saraksts ir konfigurācija: tiek izdots tas, ko nosauc TEMP_MAIL_DOMAINS. Nekas neautomatizē DNS, tāpēc četri no šiem pieciem soļiem ir cilvēks pie reģistratūras.
- Reģistrējiet tam domēnu. Izmantojiet tādu, ko esat gatavs ļaut izdalīt svešiniekiem. Katra adrese uz tā dala tā reputāciju, un tieši tāpēc arī atlasītājs jaunās iesūtnes izkliedē pa pūlu nejauši, nevis piepilda pirmo.
- Pievienojiet to lietotnē sadaļā Iestatījumi → Domēni. Tas izveido sūtīšanas identitāti un izdrukā publicējamos DNS ierakstus.
- Publicējiet MX, SPF, DKIM un
_openemail-challengeTXT ierakstus pie reģistratūras. Verifikācija lasa dzīvo DNS un tiek pārbaudīta atkārtoti cron darbā; tiek piedāvāts tikai verificēts domēns. - Pievienojiet verificēto domēnu servera
TEMP_MAIL_DOMAINSmainīgajam, atdalot ar komatiem. Kamēr tas nav sarakstā, tas ir parasts darbvietas domēns. - Atstājiet catch-all IESLĒGTU. Tieši tas ļauj vienreizlietojamai adresei pastāvēt, to neizveidojot, jo pasts uz jebkuru lokālo daļu tiek pieņemts un nolasīts pirms parastās adresāta meklēšanas, tāpēc koplietojamam domēnam adreses rinda nekad netiek rakstīta; catch-all atstāšana ieslēgta sāktu kārtot vienreizlietojamo pastu īstā pastkastē.
Rezervētās lokālās daļas (postmaster, abuse, security un pārējās no RFC 2142) nekad nevar būt vienreizlietojamas un tā vietā nonāk parastajā pastkastē. Koplietojams domēns, kas noslēpj paša ļaunprātības ziņojumus, ir domēns, kas pārstāj spēt kaut kur piegādāt. Adrese, ko koplietojamā domēnā izveidojat pats, piemēram, legal@ vai privacy@, uzvedas tāpat: pasts uz to nonāk jūsu pastkastē, un nevienam to nevar izdot kā vienreizlietojamu adresi.