تعليق تسجيل الدخول إلى صندوق البريد عبر API
امنع مالك صندوق البريد من الدخول مع استمرار وصول رسائله، عبر استدعاء REST واحد أو أداة MCP لصندوق واحد أو نطاق كامل أو جميع الصناديق.
تفاصيل المقال
النوع والصعوبة والخطط ومعلومات آخر تحديث.
▼
تفاصيل المقال
النوع والصعوبة والخطط ومعلومات آخر تحديث.
- النوع
- مرجع
- الصعوبة
- متوسط
- الخطط
- Pro · Agency
- آخر تحديث
- 10 سبتمبر 2026
يمنع تعليق تسجيل الدخول الشخص من فتح صندوق البريد، بينما يواصل الصندوق نفسه العمل. تصل الرسائل كالمعتاد وتنتظر المستخدم، فلا ترتد أي رسالة ولا يضيع شيء. تمثل هذه الصفحة مرجع الأوامر اللازمة لضبط هذا الإعداد.
يتوفر عنصر التحكم نفسه في لوحة المعلومات ضمن صناديق البريد ← (صندوق بريد) ← الحدود. وهو متاح في كل خطة من دون تكلفة إضافية.
تعليق الدخول وإيقاف الصندوق مؤقتا: استدعاءان مختلفان
:suspend-login |
:pause |
|
|---|---|---|
| تسجيل الدخول والإرسال والجلسات | متوقفة | متوقفة |
| البريد الوارد | يصل كالمعتاد | يرفض ويعاد إلى المرسلين |
| قابل للعكس | :resume-login |
:resume |
| يحتسب ضمن الخطة | نعم | نعم |
استخدم :suspend-login لعميل لم يدفع، أو شخص بين عقدين، أو أي مستخدم ما زلت تريد جمع بريده. استخدم :pause عندما ينبغي إيقاف صندوق البريد بالكامل، بما في ذلك استقبال رسائل المرسلين.
هناك حالة ثالثة لا يصل إليها أي من الاستدعاءين. إذا أشارت أنشطة الإرسال إلى إساءة استخدام كلمة مرور صندوق بريد، فيمكن لـ TrekMail إيقاف الإرسال من ذلك الصندوق مع ترك تسجيل الدخول والتسليم دون تغيير. تعيد محاولات الإرسال حينها 403 mailbox_sending_paused. لا يرفع :resume ولا :resume-login هذه الحالة، كما أن تكرار الاستدعاء لا يفيد: يجب تغيير كلمة المرور، ثم يعيد الدعم تشغيل الإرسال. راجع لماذا لا أستطيع إرسال البريد الإلكتروني؟.
النطاق المطلوب
mailboxes:write، وهو النطاق نفسه الذي يتيح تحديث أي حقل آخر في صندوق البريد. تقبل جميع endpoints أدناه ترويسة Idempotency-Key.
صندوق بريد واحد
curl -s -X POST "https://trekmail.net/api/v1/mailboxes/{MAILBOX_ID}:suspend-login" \
-H "Authorization: Bearer tm_live_your_token" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: suspend-{MAILBOX_ID}-invoice-42" \
-d '{"reason":"Unpaid invoice 42"}'
{ "status": "login_suspended", "message": "Sign-in has been suspended. The mailbox keeps receiving mail." }
الحقل reason اختياري ويقبل ما يصل إلى 255 حرفا. يظهر لك في لوحة المعلومات وتعيده API، لكن المستخدم الذي علق دخوله لا يراه مطلقا.
لرفع التعليق:
curl -s -X POST "https://trekmail.net/api/v1/mailboxes/{MAILBOX_ID}:resume-login" \
-H "Authorization: Bearer tm_live_your_token" \
-H "Idempotency-Key: resume-{MAILBOX_ID}"
قراءة الحالة
يعرض كل من GET /api/v1/mailboxes/{id} وendpoint القائمة هذه الحالة، حتى تتمكن من التدقيق من دون تغيير أي شيء:
{ "data": { "id": 1701, "email": "sam@example.com", "status": "active",
"login_suspended": true,
"login_suspended_at": "2026-08-16T14:02:11+00:00",
"login_suspended_reason": "Unpaid invoice 42", "...": "..." } }
لاحظ أن status يبقى active. ليست هذه مشكلة ينبغي التحايل عليها: صندوق البريد يعمل ويستقبل الرسائل. اقرأ login_suspended لمعرفة حالة تسجيل الدخول، وstatus لمعرفة ما إذا كان الصندوق نفسه قيد التشغيل.
عدة صناديق بريد دفعة واحدة
curl -s -X POST "https://trekmail.net/api/v1/mailboxes:login-access" \
-H "Authorization: Bearer tm_live_your_token" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: suspend-domain-123-august" \
-d '{"domain_id":123,"login_suspended":true,"reason":"Unpaid invoice 42"}'
مرر محددا واحدا بالضبط:
| المحدد | متى تستخدمه |
|---|---|
"mailbox_ids": [12, 34] |
مجموعة محددة، حتى 1000 صندوق في كل استدعاء |
"domain_id": 123 |
نطاق كامل. استخدمه عندما يمثل نطاق واحد عميلا واحدا |
"all": true |
كل صندوق بريد في الحساب |
توضح الاستجابة ما حدث:
{ "data": { "login_suspended": true, "matched": 24, "updated": 21, "skipped": 3 } }
يشير matched إلى عدد الصناديق التي وجدها المحدد، وupdated إلى عدد الصناديق التي تغيرت فعليا، وskipped إلى عدد الصناديق التي تعذر تطبيق الاستدعاء عليها. تحتسب الصناديق الموجودة في الحالة المطلوبة ضمن المطابقات، لكنها لا تحدث. لذلك يمكنك تكرار الاستدعاء بأمان، وهو أمر مفيد إذا كانت مهمة فوترة تنفذه كل ليلة.
اضبط "login_suspended": false لاستعادة المجموعة نفسها.
باستخدام وكيل MCP
suspend_mailbox_login(mailbox_id=1701, reason="Unpaid invoice 42")
resume_mailbox_login(mailbox_id=1701)
set_mailboxes_login_access(domain_id=123, login_suspended=true, reason="Unpaid invoice 42")
تتوفر الأدوات الثلاث لوكيل يحمل النطاق المطلوب. في خادم MCP مستضاف محليا، يمكن للمسؤول فرض موافقة صريحة على إجراءات الكتابة، مما يمنع الوكيل من حجب المستخدمين عن طريق الخطأ.
ما الذي يفعله صندوق البريد المعلق
يفرض التعليق عند كل منفذ وصول، ولا يقتصر على إخفاء الصندوق في الواجهة:
- يرفض تسجيل الدخول إلى بريد الويب، وتنتهي أي جلسة مفتوحة بالفعل
- ترفض مصادقة IMAP وPOP وSMTP، فتتوقف تطبيقات البريد ولا يمكن إرسال أي شيء
- يرفض CalDAV وCardDAV، فتتوقف مزامنة التقويم وجهات الاتصال مع الهواتف وأجهزة الكمبيوتر المحمولة
- تجيب رموز الرسائل (
tm_msg_) الخاصة بالصندوق بالخطأ422 mailbox_login_suspended. لا تلغى هذه الرموز، ولذلك تعمل مجددا عند استعادة تسجيل الدخول - تلغى كلمات مرور الأجهزة الخاصة بمزامنة الملفات إلغاء دائما؛ وتنشأ كلمات جديدة بعد رفع التعليق
- تتوقف روابط إعادة تعيين كلمة المرور ورموز الاسترداد، ولا يمكن إصدار روابط أو رموز جديدة؛ ولا تعيد إعادة تعيين كلمة المرور الوصول، لأن كلمة المرور ليست سبب الحجب
- يصل البريد الوارد كالمعتاد، وتواصل قواعد إعادة التوجيه وعوامل التصفية العمل
لا يحذف أي شيء. تبقى كل رسالة وجهة اتصال وعنصر تقويم وملف في مكانه، ويظل صندوق البريد محتسبا ضمن خطتك ومساحتها التخزينية. كما يستمر في جمع البريد.
عمليات الترحيل إلى صندوق بريد معلق
لا يمكن بدء ترحيل إلى صندوق بريد علق دخوله: يعيد POST /api/v1/migrations الخطأ 422 mailbox_login_suspended. يسجل المستورد الدخول لتسليم البريد الذي ينسخه، ولذلك ستفشل المهمة في منتصف الطريق. استعد تسجيل الدخول، ونفذ الترحيل، ثم علقه مجددا إذا ظل ذلك ضروريا.
صناديق البريد المشتركة
يرفض endpoint الفردي صناديق البريد المشتركة بالخطأ 422 mailbox_unavailable، بينما يتخطاها endpoint المجمع مع استمرار احتسابها. لا يسجل أحد الدخول مباشرة إلى صندوق بريد مشترك: يفتحه فريقك من صناديقهم الخاصة، لذا فإن تعليق صندوق ذلك الشخص هو ما يغلق الباب، بما في ذلك الوصول إلى الصندوق المشترك. سيبدو تخزين تعليق في سجل الصندوق المشترك كأنه يفعل شيئا، لكنه لن يغير أي شيء.
أخطاء قد تواجهها
| الاستجابة | المعنى |
|---|---|
409 |
معلق بالفعل (أو نشط بالفعل)، لا يوجد إجراء مطلوب |
422 mailbox_unavailable |
صندوق مشترك، أو صندوق موقوف مؤقتا أو قيد الحذف |
403 mailbox_sending_paused |
تعيده endpoints الإرسال، لا هذه endpoints: أوقف الإرسال لذلك الصندوق ولا يستطيع رفعه إلا الدعم |
خطأ تحقق 422 |
أكثر من محدد واحد، أو لا محدد، في endpoint المجمع |
403 |
يفتقر الرمز إلى mailboxes:write |
404 |
صندوق البريد ليس في هذا الحساب، أو لا يسمح نطاق الرمز بالوصول إليه |
مقالات ذات صلة
انتقل إلى الأدلة القريبة التي تُكمل سير العمل.