البريد الإلكتروني
قم بتوصيل وكيل Triggerfish الخاص بك بالبريد الإلكتروني حتى يتمكن من استقبال الرسائل عبر IMAP وإرسال الردود عبر خدمة ترحيل SMTP. يدعم المحوّل خدمات مثل SendGrid وMailgun وAmazon SES للبريد الصادر، ويستطلع أي خادم IMAP للرسائل الواردة.
التصنيف الافتراضي
يتم تصنيف البريد الإلكتروني افتراضياً كـ CONFIDENTIAL. غالباً ما يحتوي البريد الإلكتروني على محتوى حساس (عقود، إشعارات حسابات، مراسلات شخصية)، لذا CONFIDENTIAL هو الافتراضي الآمن.
الإعداد
الخطوة 1: اختيار ترحيل SMTP
يرسل Triggerfish البريد الصادر عبر واجهة API ترحيل SMTP المبنية على HTTP. الخدمات المدعومة تشمل:
| الخدمة | نقطة نهاية API |
|---|---|
| SendGrid | https://api.sendgrid.com/v3/mail/send |
| Mailgun | https://api.mailgun.net/v3/YOUR_DOMAIN/messages |
| Amazon SES | https://email.us-east-1.amazonaws.com/v2/email/outbound-emails |
سجّل في إحدى هذه الخدمات واحصل على مفتاح API.
الخطوة 2: تكوين IMAP للاستقبال
تحتاج بيانات اعتماد IMAP لاستقبال البريد. معظم مزوّدي البريد يدعمون IMAP:
| المزوّد | مضيف IMAP | المنفذ |
|---|---|---|
| Gmail | imap.gmail.com | 993 |
| Outlook | outlook.office365.com | 993 |
| Fastmail | imap.fastmail.com | 993 |
| مخصص | خادم البريد الخاص بك | 993 |
كلمات مرور تطبيقات Gmail إذا كنت تستخدم Gmail مع المصادقة الثنائية،
ستحتاج لإنشاء كلمة مرور تطبيق للوصول عبر IMAP. كلمة مرور Gmail العادية لن تعمل. :::
الخطوة 3: تكوين Triggerfish
أضف قناة البريد الإلكتروني إلى triggerfish.yaml:
yaml
channels:
email:
smtpApiUrl: "https://api.sendgrid.com/v3/mail/send"
imapHost: "imap.gmail.com"
imapPort: 993
imapUser: "you@gmail.com"
fromAddress: "triggerfish@yourdomain.com"
ownerEmail: "you@gmail.com"الأسرار (مفتاح SMTP API، كلمة مرور IMAP) تُدخل أثناء triggerfish config add-channel email وتُخزّن في سلسلة مفاتيح نظام التشغيل.
| الخيار | النوع | مطلوب | الوصف |
|---|---|---|---|
smtpApiUrl | string | نعم | عنوان URL لنقطة نهاية API ترحيل SMTP |
imapHost | string | نعم | اسم مضيف خادم IMAP |
imapPort | number | لا | منفذ خادم IMAP (الافتراضي: 993) |
imapUser | string | نعم | اسم مستخدم IMAP (عادةً عنوان بريدك الإلكتروني) |
fromAddress | string | نعم | عنوان المرسل للرسائل الصادرة |
pollInterval | number | لا | فترة التحقق من الرسائل الجديدة، بالمللي ثانية (الافتراضي: 30000) |
classification | string | لا | مستوى التصنيف (الافتراضي: CONFIDENTIAL) |
ownerEmail | string | موصى به | عنوان بريدك الإلكتروني للتحقق من المالك |
بيانات الاعتماد مفتاح SMTP API وكلمة مرور IMAP مخزنان في سلسلة
مفاتيح نظام التشغيل (Linux: GNOME Keyring، macOS: Keychain Access). لا يظهران أبداً في triggerfish.yaml. :::
الخطوة 4: تشغيل Triggerfish
bash
triggerfish stop && triggerfish startأرسل بريداً إلكترونياً إلى العنوان المُعدّ لتأكيد الاتصال.
هوية المالك
يحدد Triggerfish حالة المالك بمقارنة عنوان البريد الإلكتروني للمرسل مع ownerEmail المُعدّ:
- تطابق -- الرسالة أمر المالك
- عدم تطابق -- الرسالة إدخال خارجي بتلوث
PUBLIC
إذا لم يتم تكوين ownerEmail، تُعامل جميع الرسائل كأنها من المالك.
التصنيف المبني على النطاق
لتحكم أدق، يدعم البريد الإلكتروني تصنيف المستلمين المبني على النطاق. هذا مفيد بشكل خاص في البيئات المؤسسية:
- الرسائل من
@yourcompany.comيمكن تصنيفها كـINTERNAL - الرسائل من نطاقات غير معروفة تُصنّف افتراضياً كـ
EXTERNAL - يمكن للمسؤول تكوين قائمة بالنطاقات الداخلية
yaml
channels:
email:
# ... تكوين آخر
internalDomains:
- "yourcompany.com"
- "subsidiary.com"هذا يعني أن محرك السياسات يطبق قواعد مختلفة بناءً على مصدر البريد:
| نطاق المرسل | التصنيف |
|---|---|
| نطاق داخلي مُعدّ | INTERNAL |
| نطاق غير معروف | EXTERNAL |
كيف يعمل
الرسائل الواردة
يستطلع المحوّل خادم IMAP على الفترة المُعدّة (الافتراضي: كل 30 ثانية) بحثاً عن رسائل جديدة غير مقروءة. عندما يصل بريد جديد:
- يُستخرج عنوان المرسل
- يُفحص حالة المالك مقابل
ownerEmail - يُحوّل نص البريد إلى معالج الرسائل
- يُربط كل سلسلة بريد بمعرّف جلسة بناءً على عنوان المرسل (
email-sender@example.com)
الرسائل الصادرة
عندما يرد الوكيل، يرسل المحوّل الرد عبر واجهة HTTP API لترحيل SMTP المُعدّة. يتضمن الرد:
- From --
fromAddressالمُعدّ - To -- عنوان البريد الإلكتروني للمرسل الأصلي
- Subject -- "Triggerfish" (الافتراضي)
- Body -- رد الوكيل كنص عادي
فترة الاستطلاع
فترة الاستطلاع الافتراضية هي 30 ثانية. يمكنك تعديلها حسب احتياجاتك:
yaml
channels:
email:
# ... تكوين آخر
pollInterval: 10000 # التحقق كل 10 ثوانٍوازن بين الاستجابة والموارد فترة استطلاع أقصر تعني
استجابة أسرع للبريد الوارد، لكن اتصالات IMAP أكثر تكراراً. لمعظم حالات الاستخدام الشخصي، 30 ثانية توازن جيد. :::
تغيير التصنيف
yaml
channels:
email:
# ... تكوين آخر
classification: CONFIDENTIALالمستويات الصالحة: PUBLIC، INTERNAL، CONFIDENTIAL، RESTRICTED.
