Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

البريد الإلكتروني

اربط PRX بأي مزود بريد إلكتروني باستخدام IMAP للاستقبال وSMTP للإرسال، مع دعم IDLE push للتسليم اللحظي.

المتطلبات المسبقة

  • حساب بريد إلكتروني مع تفعيل IMAP وSMTP
  • أسماء مضيفي IMAP/SMTP والمنافذ
  • بيانات اعتماد البريد الإلكتروني (اسم مستخدم وكلمة مرور أو كلمة مرور خاصة بالتطبيق)

الإعداد السريع

1. تفعيل وصول IMAP

لمعظم مزودي البريد:

  • Gmail: فعّل IMAP من Gmail Settings > Forwarding and POP/IMAP، ثم أنشئ App Password
  • Outlook: IMAP مفعّل افتراضيًا؛ استخدم app password إذا كان 2FA مفعّلًا
  • Self-hosted: تأكد أن خادم البريد لديك يدعم IMAP

2. التهيئة

toml
[channels_config.email]
imap_host = "imap.gmail.com"
imap_port = 993
smtp_host = "smtp.gmail.com"
smtp_port = 465
username = "[email protected]"
password = "your-app-password"
from_address = "[email protected]"
allowed_senders = ["[email protected]"]

3. التحقق

bash
prx channel doctor email

مرجع الإعدادات

الحقلالنوعالافتراضيالوصف
imap_hostStringrequiredاسم مضيف خادم IMAP (مثل "imap.gmail.com")
imap_portu16993منفذ خادم IMAP (993 لـ TLS)
imap_folderString"INBOX"مجلد IMAP الذي تتم مراقبته للرسائل الجديدة
smtp_hostStringrequiredاسم مضيف خادم SMTP (مثل "smtp.gmail.com")
smtp_portu16465منفذ SMTP (465 لـ implicit TLS، و587 لـ STARTTLS)
smtp_tlsbooltrueاستخدام TLS لاتصالات SMTP
usernameStringrequiredاسم مستخدم البريد للمصادقة على IMAP/SMTP
passwordStringrequiredكلمة مرور البريد أو كلمة مرور خاصة بالتطبيق
from_addressStringrequiredعنوان المرسل للرسائل الصادرة
idle_timeout_secsu641740مهلة IDLE بالثواني قبل إعادة الاتصال (الافتراضي: 29 دقيقة حسب RFC 2177)
allowed_senders[String][]عناوين أو نطاقات المرسلين المسموح بها. فارغة = رفض الجميع. "*" = السماح للجميع
default_subjectString"PRX Message"عنوان الموضوع الافتراضي للرسائل الصادرة

الميزات

  • IMAP IDLE -- إشعارات push فورية للرسائل الجديدة (RFC 2177) بدون تأخير polling
  • تشفير TLS -- الاتصالات إلى خوادم IMAP وSMTP مشفرة عبر TLS
  • تحليل MIME -- التعامل مع رسائل multipart واستخراج النص والمرفقات
  • تصفية على مستوى النطاق -- السماح بنطاقات كاملة (مثل "@company.com") في allowlist للمرسلين
  • إعادة اتصال تلقائية -- إعادة إنشاء اتصال IDLE بعد انتهاء مهلة 29 دقيقة
  • ترابط الردود -- الرد في نفس سلسلة البريد الأصلية مع ترويسات In-Reply-To الصحيحة

القيود

  • يعالج فقط الرسائل ضمن مجلد IMAP المحدد (الافتراضي: INBOX)
  • رسائل HTML تُعالج كنص عادي (تتم إزالة وسوم HTML)
  • قد لا تُعالج المرفقات الكبيرة بالكامل بحسب قيود الذاكرة
  • بعض مزودي البريد يتطلبون app-specific passwords عند تفعيل 2FA
  • دعم IDLE يعتمد على خادم IMAP؛ معظم الخوادم الحديثة تدعمه

استكشاف الأخطاء وإصلاحها

تعذر الاتصال بخادم IMAP

  • تأكد أن imap_host وimap_port صحيحان لمزودك
  • تأكد من تفعيل IMAP في إعدادات حساب البريد
  • عند استخدام Gmail، أنشئ App Password (كلمات المرور العادية تُحجب مع 2FA)
  • تحقق أن TLS غير محجوب بجدار ناري

لا يتم اكتشاف الرسائل

  • تأكد من صحة imap_folder (الافتراضي: "INBOX")
  • تحقق أن عنوان المرسل أو نطاقه موجود في allowed_senders
  • بعض المزودين قد يظهرون تأخيرًا قبل ظهور الرسائل عبر IMAP

لا يتم إرسال الردود

  • تحقق أن إعدادات smtp_host وsmtp_port وsmtp_tls تطابق مزودك
  • افحص بيانات مصادقة SMTP (نفس username/password الخاصة بـ IMAP أو بيانات SMTP منفصلة)
  • راجع سجلات الخادم لأسباب رفض SMTP (مثل إخفاقات SPF/DKIM)

Released under the Apache-2.0 License.