#pSpam
Sieve नियमों में AI: फ़िल्टर शर्त के रूप में "क्या यह मेल एक इनवॉइस है?"
इनबॉक्स नियम और सिस्टम Sieve एक भाषा मॉडल से पूछ सकते हैं और फिर उत्तर के अनुसार मूव, फ़्लैग या अग्रेषित कर सकते हैं। दो रूप: एक मुक्त हाँ/ना प्रश्न, या श्रेणियों में से चयन। यह वही प्रदाता उपयोग करता है जो AI स्पैम क्लासिफ़ायर (टियर 1) करता है: स्थानीय Ollama की सिफ़ारिश की जाती है; OpenAI-संगत सर्वर, Anthropic या Gemini वैकल्पिक हैं। Webmail में इस शर्त का नाम "यदि AI पहचाने …" है, जिसमें टेस्ट बटन, टेम्पलेट और यह जानकारी है कि कौन-सा डेटा किस प्रदाता को जाता है। ManageSieve और JMAP भी इस एक्सटेंशन को समझते हैं। एडमिन: SpamGuard > एक्सटेंशन > नियमों में AI। Business फ़ीचर।
डिलीवरी कभी भी कॉन्फ़िगर की गई सीमा से अधिक इंतज़ार नहीं करती (डिफ़ॉल्ट: एक संदेश के सभी AI प्रश्नों के लिए कुल 8 सेकंड)। टाइमआउट, त्रुटि, सीमा पूरी होने या फ़ीचर बंद होने पर शर्त बस false होती है और स्क्रिप्ट जारी रहती है: मेल वहीं पहुँचता है जहाँ वह AI नियम के बिना पहुँचता।
1. Sieve सिंटैक्स: :question और :category
एक्सटेंशन को require के साथ अनुरोधित करना आवश्यक है। :confidence (0 से 100) प्रतिशत में मॉडल की न्यूनतम निश्चितता तय करता है; इसके बिना एडमिन का डिफ़ॉल्ट (60) लागू होता है। एक प्रश्न में अधिकतम 500 अक्षर होते हैं, एक श्रेणी सूची में 2 से 20 प्रविष्टियाँ; अपेक्षित श्रेणी सूची में होनी चाहिए। अज्ञात vnd.nextxch.* require होने पर स्क्रिप्ट अपलोड के समय विफल हो जाती है, जैसा कि RFC 5228 अपेक्षित करता है।
require ["vnd.nextxch.ai", "fileinto", "copy", "imap4flags"];
# Free yes/no question
if ai :question "Is this mail an invoice or a payment request?" :confidence 70 {
fileinto "Accounting";
stop;
}
# Choice between categories: true when the model picks "Application"
if ai :category ["Invoice", "Application", "Support", "Newsletter"] "Application" {
redirect :copy "hr@company.com";
}
# Combined with ordinary tests (cheap tests first: the model is only asked when reached)
if allof (address :domain :is "from" "customer.com",
ai :question "Is this an urgent request or complaint?" :confidence 75) {
addflag "\\Flagged";
}
2. Webmail: टेम्पलेट और टेस्ट बटन
सेटिंग्स > इनबॉक्स नियम: शर्त "यदि AI पहचाने …" चुनें, फिर "मुक्त प्रश्न" या "श्रेणी चुनें"। "टेस्ट" बटन चुने गए संदेश के साथ शर्त को मॉडल को भेजता है और उत्तर, विश्वास स्तर और भेजा गया अंश दिखाता है।
Template Condition Action
Invoices to the Accounting folder Question "Is this mail an invoice ...?" (70 %) Move to "Accounting"
Forward job applications to HR Category "Application" of 5 categories (70 %) Copy to hr@<your domain>
Flag urgent customer mails Question "Urgent request or complaint?" (75 %) Flag as important
3. मॉडल क्या देखता है (मास्किंग के साथ उदाहरण)
अंश मार्करों के बीच रहता है और मॉडल को स्पष्ट रूप से अविश्वसनीय डेटा के रूप में सौंपा जाता है: मेल के भीतर दिए गए निर्देश अनदेखे किए जाते हैं। उत्तर एक JSON ऑब्जेक्ट होना चाहिए; जिन उत्तरों को पार्स नहीं किया जा सकता, वे "कोई उत्तर नहीं" माने जाते हैं।
Question: Is this mail an invoice?
<<<EMAIL
From: Supplier Billing <[email@supplier.com]>
Subject: Invoice 2026-1042
Attachments: Invoice-2026-1042.pdf
Body:
Dear Sir or Madam, please find attached our invoice for EUR 1,200.
Please transfer to [number] by 17 Nov 2026.
EMAIL>>>
Model answer: {"answer":"yes","confidence":0.94}
Rule log: ai :question "Is this mail an invoice?" -> true (ja, 94 %, openai/llama3.2:3b)
4. Ollama को स्थानीय रूप से सेट अप करें
हाँ/ना और श्रेणी वाले प्रश्नों के लिए एक छोटा मॉडल पर्याप्त है। इसके बाद एडमिन में SpamGuard > एक्सटेंशन के अंतर्गत एंडपॉइंट को टियर 1 के रूप में दर्ज करें और "नियमों में AI" चालू करें; लाइव टेस्ट एक नमूना मेल से कनेक्शन की जाँच करता है।
# Linux
curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.2:3b
curl http://127.0.0.1:11434/v1/models
# Windows (PowerShell)
winget install Ollama.Ollama
ollama pull llama3.2:3b
# Admin > SpamGuard > Extensions > AI classifier, tier 1:
# Provider: OpenAI-compatible · Endpoint: http://127.0.0.1:11434/v1 · Model: llama3.2:3b
# Admin > SpamGuard > Extensions > AI in rules: enable, save, live test
सेटिंग्स, डिफ़ॉल्ट मान और बेस्ट प्रैक्टिस
| सेटिंग / स्थान | विवरण | डिफ़ॉल्ट मान | उत्पादन बेस्ट प्रैक्टिस |
|---|---|---|---|
Welche Daten gesendet werden |
प्रति प्रश्न केवल: विषय, प्रेषक, टेक्स्ट के पहले N अक्षर (डिफ़ॉल्ट 2,000) और अटैचमेंट के नाम। अटैचमेंट की सामग्री कभी नहीं, अन्य हेडर कभी नहीं, प्राप्तकर्ता सूचियाँ कभी नहीं। | Maskierung an · Anhangsnamen an |
मास्किंग चालू रखें: ईमेल पते [email@domain] बन जाते हैं, IBAN और फ़ोन नंबर [number], लिंक केवल उनके डोमेन तक छोटे कर दिए जाते हैं और प्रेषक केवल नाम और डोमेन दिखाता है। यह वही डेटा सुरक्षा तर्क है जो AI स्पैम क्लासिफ़ायर में है। |
Lokal oder Cloud |
नियम AI क्लासिफ़ायर के टियर 1 प्रदाता का उपयोग करते हैं। स्थानीय एंडपॉइंट (localhost, निजी नेटवर्क) को किसी अनुमति की आवश्यकता नहीं है। क्लाउड प्रदाता केवल दो टिक के साथ: क्लासिफ़ायर की GDPR सहमति और "नियमों के लिए क्लाउड प्रदाताओं की अनुमति दें"। | Ollama http://127.0.0.1:11434/v1 · llama3.2:3b |
Ollama के साथ स्थानीय रूप से चलाएँ ताकि कोई भी मेल सामग्री आपके नेटवर्क से बाहर न जाए। क्लाउड के लिए आपको एक कानूनी आधार, एक डेटा प्रोसेसिंग समझौता और अपनी गोपनीयता नीति में एक उल्लेख की आवश्यकता है; Webmail एडिटर उपयोगकर्ताओं को दिखाता है कि उनका नियम स्थानीय रूप से मूल्यांकित होता है या क्लाउड में। |
Zeitlimit und Ausfall |
एक संदेश के सभी AI प्रश्न एक ही समय बजट साझा करते हैं। जब यह समाप्त हो जाए या मॉडल उत्तर न दे, तो टेस्ट false होता है और अगला नियम चलता है। | 8.000 ms je Nachricht · max. 10 Fragen |
सस्ते टेस्ट (प्रेषक, विषय) AI प्रश्न से पहले रखें: मॉडल से तभी पूछा जाता है जब मूल्यांकन उस तक पहुँचता है। |
Cache: jede Nachricht nur einmal |
उत्तर प्रति संदेश और प्रश्न कैश किए जाते हैं। SMTP संवाद में पूर्व-जाँच, डिलीवरी और उसी प्रश्न वाले अन्य प्राप्तकर्ता वही उत्तर दोबारा उपयोग करते हैं। | 60 Minuten |
उसी नियम वाले 200 सहकर्मियों को भेजा गया एक परिपत्र केवल एक मॉडल अनुरोध की लागत लेता है। |
Freigaben, Limits und Kosten |
एडमिन तय करता है कि फ़ीचर किन डोमेन और टेनेंट पर लागू होगा, क्या सिस्टम Sieve इसका उपयोग कर सकता है और प्रति टेनेंट प्रति दिन कितने प्रश्नों की अनुमति है (अलग-अलग टेनेंट के लिए भिन्न मान संभव हैं, 0 = अवरुद्ध)। इसके ऊपर क्लासिफ़ायर की दैनिक सीमाएँ (अनुरोध, टोकन, लागत) पूरे इंस्टॉलेशन पर लागू होती हैं। | 500 Fragen je Mandant und Tag |
एडमिन तालिका प्रति टेनेंट आज के प्रश्न और लागत दिखाती है: क्लाउड लागत को आगे चार्ज करने का आधार। काउंटर रीस्टार्ट के बाद भी बने रहते हैं और पूरे क्लस्टर में जोड़े जाते हैं। |
Nachvollziehbarkeit |
हर AI निर्णय नियम लॉग (इवेंट SieveAi) में प्रश्न, उत्तर, विश्वास स्तर, प्रदाता, कैश हिट या उत्तर न मिलने के कारण के साथ लिखा जाता है, उदा. ai :question "इनवॉइस?" -> true (yes, 92 %, openai/llama3.2:3b)। | immer an |
Webmail में टेस्ट बटन और एडमिन में लाइव टेस्ट इसके अलावा वह सटीक अंश भी दिखाते हैं जो मॉडल को भेजा गया। |
Lizenz und Upload |
Business फ़ीचर (Enterprise और ट्रायल में भी)। अनुमति के बिना Webmail, ManageSieve (PUTSCRIPT/CHECKSCRIPT) और JMAP (SieveScript/set, /validate) ai टेस्ट वाली स्क्रिप्ट अस्वीकार कर देते हैं; ManageSieve, SIEVE में vnd.nextxch.ai को केवल तभी सूचीबद्ध करता है जब फ़ीचर चालू हो। | aus |
पहले सहेजी गई स्क्रिप्ट बाद में फ़ीचर बंद किए जाने पर भी चलती रहती हैं: तब ai टेस्ट बस false होता है। |