الفصل 07b نقل البريد والحماية الإدارة: #pSpam

الذكاء الاصطناعي في قواعد Sieve: "هل هذه الرسالة فاتورة؟" كشرط تصفية

يمكن لقواعد البريد الوارد وSieve النظام سؤال نموذج لغوي ثم النقل أو وضع علامة أو إعادة التوجيه وفقًا للإجابة. شكلان: سؤال حر بنعم/لا، أو اختيار بين فئات. ويُستخدم المزوّد نفسه المستخدم في مصنّف البريد العشوائي بالذكاء الاصطناعي (الفئة 1): يُوصى بـ Ollama محلي؛ والخوادم المتوافقة مع OpenAI وAnthropic وGemini اختيارية. في Webmail يُسمّى الشرط "إذا اكتشف الذكاء الاصطناعي …"، مع زر اختبار وقوالب وملاحظة توضح البيانات التي تذهب إلى كل مزوّد. ويفهم ManageSieve وJMAP الامتداد أيضًا. الإدارة: SpamGuard > الامتدادات > الذكاء الاصطناعي في القواعد. ميزة Business.

نصيحة تشغيلية وملاحظة حول البنية

لا ينتظر التسليم أبدًا أكثر من الحد المُعدّ (الافتراضي 8 ثوانٍ لجميع أسئلة الذكاء الاصطناعي لرسالة واحدة مجتمعةً). عند انتهاء المهلة أو حدوث خطأ أو بلوغ حد ما أو عند إيقاف الميزة، يكون الشرط ببساطة خاطئًا ويستمر النص البرمجي: تصل الرسالة إلى حيث كانت ستصل بدون قاعدة الذكاء الاصطناعي.

1. صياغة Sieve: ‏:question و:category

يجب طلب الامتداد باستخدام require. يحدد ‏:confidence (من 0 إلى 100) الحد الأدنى ليقين النموذج بالنسبة المئوية؛ وبدونه تنطبق القيمة الافتراضية للإدارة (60). يبلغ طول السؤال 500 حرف كحد أقصى، وتضم قائمة الفئات من 2 إلى 20 إدخالًا؛ ويجب أن تكون الفئة المتوقعة ضمن القائمة. ويؤدي require غير معروف من نوع vnd.nextxch.* إلى فشل النص البرمجي عند الرفع، كما يقتضي 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: القوالب وزر الاختبار

الإعدادات > قواعد البريد الوارد: اختر الشرط "إذا اكتشف الذكاء الاصطناعي …"، ثم "سؤال حر" أو "اختيار فئة". يرسل زر "اختبار" الشرط مع رسالة محددة إلى النموذج ويعرض الإجابة ودرجة الثقة والمقتطف المُرسَل.

المرجع / الإعداد
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 محليًا

يكفي نموذج صغير لأسئلة نعم/لا وأسئلة الفئات. بعد ذلك أدخل نقطة النهاية بوصفها الفئة 1 في لوحة الإدارة ضمن SpamGuard > الامتدادات وفعّل "الذكاء الاصطناعي في القواعد"؛ ويتحقق الاختبار المباشر من الاتصال باستخدام رسالة نموذجية.

المرجع / الإعداد
# 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]، وتُختصر الروابط إلى نطاقها، ولا يُظهر المرسل إلا الاسم والنطاق. وهذا هو منطق حماية البيانات نفسه المتبع في مصنّف البريد العشوائي بالذكاء الاصطناعي.
Lokal oder Cloud تستخدم القواعد مزوّد الفئة 1 لمصنّف الذكاء الاصطناعي. لا تحتاج نقاط النهاية المحلية (localhost، الشبكات الخاصة) إلى إذن. أما مزوّدو السحابة فلا يُسمح بهم إلا بعلامتي اختيار: موافقة GDPR الخاصة بالمصنّف و"السماح لمزوّدي السحابة في القواعد". Ollama http://127.0.0.1:11434/v1 · llama3.2:3b شغّله محليًا باستخدام Ollama حتى لا يغادر أي محتوى بريد شبكتك. أما للسحابة فتحتاج إلى أساس قانوني واتفاقية معالجة بيانات وإشارة في سياسة الخصوصية لديك؛ ويُظهر محرر Webmail للمستخدمين ما إذا كانت قاعدتهم تُقيَّم محليًا أم في السحابة.
Zeitlimit und Ausfall تتشارك جميع أسئلة الذكاء الاصطناعي لرسالة واحدة ميزانية زمنية واحدة. عند استنفادها أو عدم استجابة النموذج، يكون الاختبار خاطئًا وتُنفَّذ القاعدة التالية. 8.000 ms je Nachricht · max. 10 Fragen ضع الاختبارات منخفضة التكلفة (المرسل، الموضوع) قبل سؤال الذكاء الاصطناعي: لا يُسأل النموذج إلا عندما يصل التقييم إليه.
Cache: jede Nachricht nur einmal تُخزَّن الإجابات مؤقتًا لكل رسالة وسؤال. ويعيد الفحص المسبق في حوار SMTP والتسليم والمستلمون الآخرون الذين لديهم السؤال نفسه استخدام الإجابة نفسها. 60 Minuten تعميم إلى 200 زميل لديهم القاعدة نفسها يكلّف طلبًا واحدًا فقط إلى النموذج.
Freigaben, Limits und Kosten يحدد المسؤول النطاقات والمستأجرين الذين تنطبق عليهم الميزة، وما إذا كان يُسمح لـ Sieve النظام باستخدامها، وعدد الأسئلة المسموح بها لكل مستأجر يوميًا (يمكن أن تختلف قيم مستأجرين بعينهم، 0 = محظور). وتنطبق إضافةً إلى ذلك الحدود اليومية للمصنّف (الطلبات، الرموز، التكلفة) على التثبيت بأكمله. 500 Fragen je Mandant und Tag يعرض جدول الإدارة أسئلة اليوم وتكاليفه لكل مستأجر: وهو الأساس لإعادة تحميل تكاليف السحابة. وتبقى العدادات محفوظة بعد إعادة التشغيل وتُجمَع عبر العنقود بأكمله.
Nachvollziehbarkeit يُسجَّل كل قرار للذكاء الاصطناعي في سجل القواعد (الحدث 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 الامتداد vnd.nextxch.ai في SIEVE إلا عند تفعيل الميزة. aus تستمر النصوص البرمجية المحفوظة سابقًا في العمل عند إيقاف الميزة لاحقًا: يكون اختبار ai عندئذٍ خاطئًا ببساطة.