Puncte:0

Sita: Reguli de filtrare

drapel in

Vreau să implementez o regulă după cum urmează:

  • Dacă „To” cuprinde numai adrese care au „*@example.com” -> renunțați
  • În caz contrar -> păstrați

Cu alte cuvinte:

  • Dacă „To” cuprinde cel puțin unul adresa diferită de „*@example.com” -> păstrați
  • În caz contrar -> aruncați

Problema cu afirmația dacă nu antetul: conține „Către” „@example.com” { păstrați; } else { arunca;} este că un e-mail nu este păstrat dacă există o adresă „*@example.com” printre alte adrese care nu sunt „*@example.com”.

Ceea ce mi-ar trebui este o opțiune de a anula model de căutare mai degrabă decât declarația completă, de exemplu: dacă antetul: conține „Către” NU „@example.com” { păstrați; } else { arunca;}

Aveți vreo idee cum să rezolv asta?

Puncte:1
drapel ye
Tom

Aceasta funcționează:

necesită „regex”;
if header :regex „la” „@[^(example.com)]+” { keep; } else { arunca; }
djdomi avatar
drapel za
vă rugăm să oferiți mai mult sprijin pentru răspuns.poate răspunde la întrebare, dar fără explicații nu va funcționa
Puncte:0
drapel de

Este un :numara tip de potrivire (cum ar fi :este și :contine, etc.) în „relaționale" extensie pe care o puteți folosi cu :comparator comparator să facă acest lucru și, de fapt, cazul dvs. de utilizare este exemplu standard pentru aceasta!

Dacă utilizați Dovecot Pigeonhole (folosit de multe soluții de pachete și furnizori precum RoundCube, FastMail și alții), extensia „relațională” vine cu ea, trebuie doar să o solicitați (și comparatorul său; vezi mai jos) în partea de sus din dosarul tău sită cu ceilalți. Filtrul de sită ar trebui să arate la fel, indiferent de implementarea pe care o utilizați, atâta timp cât extensiile sunt acceptate.

IANA menține lista principală de prelungiri oficiale. Dacă utilizați Dovecot Pigeonhole Sieve, derulați în jos la „Starea implementării” pe Github pentru a vedea care sunt susținute acolo (toate sunt, cel mai complet). Aceasta înseamnă că nu trebuie să căutați pentru a găsi extensia „relațională”.

Rețineți că în timp ce :comparator este suportat de instalarea de bază (a implementării lui Dovecot), nu include comparație numerică în mod implicit și colarea în sine este o extensie care trebuie să fie cerută în mod specific.

necesită [..., "relațional","comparator-i;ascii-numeric"]

#...

# respinge dacă numărul adreselor destinatarului este mai mare de 1
daca tot(
  adresa :domeniu ["la","cc"] "example.com",
  adresa :count "gt" :comparator "i;ascii-numeric" ["la","cc"] "1"){
    # dacă chiar vrei să fie distrus
    # aruncați;
    fileinto :create „Coș de gunoi”; Stop;
  }

Am făcut câteva teste și filtrul va combina numărările TO & CC (dar nu BCC) pentru comparație, deci se aplică numărului total de adrese (vizibile) destinatare.

RFC 5228: Sita
RFC 5231: Extensie relațională

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.