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.