Izveidot noteikumu
Nosacījumi vienā pusē, darbības otrā. Ieslēgts, ja vien nepasakāt citādi.
Izpilda īstu izsaukumu pret jūsu darbvietu, ar jūsu paša atslēgu.
POST /rules
Nosacījumi vienā pusē, darbības otrā. Ieslēgts, ja vien nepasakāt citādi.
Piemērs
Nepieciešams rules:write. Atgriež 201. position netiek pieņemts. Jauns noteikums tiek pievienots saraksta beigās, un tā pārvietošana ir POST /rules/reorder.
curl -X POST "$OE/rules" -H "$AUTH" -H "Content-Type: application/json" \ -d '{ "name": "Receipts to their own label", "match": "all", "conditions": [ { "field": "from_domain", "op": "matches", "value": "*.stripe.com" }, { "field": "subject", "op": "contains", "value": "receipt" } ], "actions": [ { "type": "label", "value": "USER_RECEIPTS" }, { "type": "archive" } ], "stopProcessing": true }'{ "object": "rule", "id": "rul_7f3a1c94e05d3862c1f0a44b", "name": "Receipts to their own label", "description": null, "enabled": true, "position": 3, "match": "all", "conditions": [ { "field": "from_domain", "op": "matches", "value": "*.stripe.com", "negate": false }, { "field": "subject", "op": "contains", "value": "receipt", "negate": false } ], "actions": [ { "type": "label", "value": "USER_RECEIPTS" }, { "type": "archive" } ], "stopProcessing": true, "lastMatchedAt": null, "matchCount": 0, "createdAt": "2026-08-30T10:41:02.000Z", "updatedAt": "2026-08-30T10:41:02.000Z"}Šeit izveidots noteikums ir IESLĒGTS un sāk darboties ar nākamo ziņojumu. Tas ir pareizais noklusējums izsaukumam, ko kāds veicis apzināti, un tas ir pretējs MCP rīkam createRule, kurš to pašu noteikumu ieraksta IZSLĒGTU, jo modelim, kas nolemj arhivēt pastu, nevajadzētu sākt arhivēt, pirms cilvēks noteikumu ir izlasījis.
Dubults name vienā savienojumā ir rule_name_taken, 409. Nosaukumi ir veids, kā noteikumu atpazīt izpildes žurnālā un iestatījumu ekrānā, tāpēc divi noteikumi ar nosaukumu "Newsletters" ir atskaite, ko neviens nevar izlasīt.
101. noteikums ir rule_limit_reached, 422. Griesti ir aizsardzība pret skriptu ciklā, nevis uzskaites robeža, un tie nav slēgti. Divi izveides izsaukumi, kas sacenšas pie 99, var izdoties abi.
Ko nosacījums var jautāt
Nosacījums ir { field, op, value } ar neobligātu header, kas nosauc lasāmo galveni, un neobligātu negate. value uz vada VIENMĒR ir virkne. Skaitliskie lauki pēc Number(value) tiek salīdzināti kā skaitļi, un abi būla lauki pieņem burtiskās virknes "true" un "false", jo viens lauks ar vienu tipu ir shēma, ko OpenAPI ģenerators var aprakstīt, bet trīs tipu apvienojums nav.
| Lauks | Ko lasa | Operatori |
|---|---|---|
| `from` | From: galvene, normalizēta tāpat, kā to normalizē bloķēšanas saraksts. | text |
| `from_domain` | From: domēns un tā VECĀKI līdz divām etiķetēm: ziņojums no mail.corp.example.com atbilst arī corp.example.com un example.com, un com neatbilst nekam. | text |
| `envelope_from` | SMTP MAIL FROM. Katrā adresātu sarakstā tas atšķiras no from, un tā ir vienīgā identitāte, pret kuru drīkst rakstīt reject. | text |
| `to`, `cc`, `bcc` | Jebkura viena adrese šajā galvenē. | text |
| `recipient` | Jebkura adrese laukos to, cc vai bcc: saīsinājums visiem trim. | text |
| `reply_to` | Reply-To galvene. | text |
| `delivered_to` | Kanoniskā adrese, uz kuru šī kopija tika piegādāta, ar noņemtu plus atzīmi un pārveidota mazajos burtos; tieši tā tiek atpazīts catch-all aizstājvārds. | text |
| `subject` | Temata rinda tāda, kāda tā pienāca. | text |
| `body` | Teksta daļa vai HTML, reducēts līdz tekstam. Ierobežots, tāpēc 20 MB pamatteksts netiek skenēts viss. | text |
| `header` | Jebkura galvene, nosaukta paša nosacījuma laukā header. Tur tā ir obligāta un pirms salīdzināšanas tiek pārveidota mazajos burtos. | text |
| `list_id` | List-Id galvene: rokturis, ar kuru adresātu saraksts sevi identificē. | text |
| `attachment_name` | Jebkura pielikuma faila nosaukums. | text |
| `attachment_type` | Jebkura pielikuma MIME tips, piemēram, application/pdf. | text |
| `has_attachment` | Vai tāds vispār ir. | equals "true" / "false" |
| `spam` | Surogātpasta spriedums, pie kura nonāca piegādes ceļš, pirms izpildījās jūsu noteikumi. | equals "true" / "false" |
| `attachment_size` | Pielikuma izmērs baitos. Salīdzinājums atbilst, ja to apmierina kaut viens pielikums. | gt, lt, equals |
| `message_size` | Viss ziņojums uz vada, baitos. | gt, lt, equals |
| `hour` | Pienākšanas stunda, 0–23, UTC. | gt, lt, equals |
| `weekday` | Pienākšanas diena, 0–6, svētdiena ir 0, UTC. | gt, lt, equals |
| Operators | Ko tas dara |
|---|---|
| `matches` | Aizstājējzīmju raksts un nekas cits: * jebkurai rakstzīmju virknei, ? vienai. Nekādu regulāro izteiksmju. Raksts no API klienta izpildās piegādes ceļā, un katastrofāli atkāpjošs raksts tur nozīmē pastkasti, kas pārstāj saņemt. |
| `contains` | Apakšvirkne, reģistrnejutīgi. |
| `equals` | Visa vērtība, reģistrnejutīgi. Skaitliskā laukā — skaitliska vienādība. |
| `starts_with` | Prefikss, reģistrnejutīgi. |
| `ends_with` | Sufikss, reģistrnejutīgi. |
| `gt`, `lt` | Skaitliski, tikai četros skaitliskajos laukos. Teksta lauks ar gt neatbilst nekad. |
matches rakstam jāsatur vismaz divas paša alfanumeriskas rakstzīmes — tā pati latiņa, ko piemēro bloķēšanas saraksts. Kails * tiek atteikts rakstīšanas brīdī, nevis pieņemts un pēc tam klusi atbilst katram ziņojumam, kas jebkad pienāks, un tas ir dīkstāve, nevis noteikums.
Nosacījums, uz kuru dzinējs nevar atbildēt (nezināms lauks no jaunāka klienta, raksts, kas netiek kompilēts, contains ""), tiek uztverts kā jautājums, kas nekad netika uzdots, nevis kā false, un negate to neapgriež. Šī atšķirība ir nesoša: noliegts salauzts nosacījums, uzskatīts par false, izraisītu savu noteikumu katram ziņojumam pastkastē. equals "" tiek ievērots, jo "temata rinda ir tukša" ir īsts jautājums.
Ko noteikums var darīt
| Darbība | `value` | Kas notiek |
|---|---|---|
| `label` | etiķetes id | Pievieno etiķeti. USER_… id nāk no GET /labels. |
| `remove_label` | etiķetes id | Noņem to. Vienas un tās pašas etiķetes nosaukšana abos tiek atrisināta, pirms ziņojums tiek nokārtots, nevis atstāta tam, kurš izpildījās pēdējais. |
| `archive` | nav | Nokārto to ārā no iesūtnes. |
| `mark_read` | nav | Noņem UNREAD. |
| `star` | nav | Pievieno STARRED. |
| `spam` | nav | Nokārto to sadaļā Spam. |
| `trash` | nav | Nokārto to sadaļā Trash, notīrot etiķetes, ko izmests ziņojums nepatur. |
| `forward` | adrese | Nosūta kopiju tālāk. Pirms lietošanas izlasiet piezīmi zemāk. |
| `reply` | veidnes id vai slug | Automātiski atbild ar publicētu veidni, ievērojot zemāk aprakstīto cilpas aizsardzību. |
| `block_sender` | nav | Pievieno sūtītāju bloķēšanas sarakstam, tāpēc nākamais ziņojums tiek atteikts jau pie durvīm. |
| `reject` | nav | Atsaka ziņojumu SMTP līmenī ar 550 5.7.1 Message refused by the recipient. Tikai aploksne. Skatiet piezīmi zemāk. |
reject rakstīšanas brīdī tiek atteikts, ja vien tas pats noteikums nenes vismaz vienu envelope_from nosacījumu: reject_needs_envelope, 422. 550 atbild tam, kurš mums ziņojumu iedeva, un adresātu sarakstā tas ir pats SARAKSTS, kas atteikumu nolasa kā atlecošu abonentu un atraksta lasītāju no kaut kā, kur viņš tikai gribēja, lai viens cilvēks pārstātu rakstīt. Pat ar uzrakstītu nosacījumu atbilstība, kas nākusi tikai no galvenes identitātēm, tiek pazemināta līdz nokārtošanai sadaļā Spam, jo aploksne ir vienīgā identitāte, pret kuru atteikumu var godīgi vērst.
Noteikuma izraisīts forward aiziet caur sūtīšanas ceļu, kas ziņojumu PĀRBŪVĒ: sākotnējais DKIM paraksts neizdzīvo, tāpat kā eksotiskas daļas, neierastas galvenes un viss, kas pārsniedz izejošā izmēra griestus, ko 25 MB ziņojums ar pielikumiem pārsniegs. Tā ir pienākušā kopija, nevis ziņojums, kas pienāca. Adrese tiek pārbaudīta noteikuma rakstīšanas brīdī, tāpēc nepārbaudīts galamērķis ir 422 uz izsaukuma, nevis noteikums, kas klusi nomet katru desmito ziņojumu.
reply neatbildēs mašīnai. Tas tiek apspiests, kad ziņojums nes Auto-Submitted (citu, nevis no), Precedence: bulk|list|junk, List-Id, List-Unsubscribe, X-Autoreply vai X-Autorespond, kad aploksnes sūtītājs ir tukšs (tāda forma ir katrai atlēkušai vēstulei) un kad galvenes vispār nevarēja izlasīt. Turklāt viens sūtītājs no konkrētas pastkastes saņem ne vairāk kā vienu automātisko atbildi 24 stundās. Divas pastkastes ar atbildes noteikumiem un bez aizsardzības rakstīs viena otrai, līdz kāds to pamanīs.