تعطيل Drive لصندوق بريد عبر API
اضبط Drive على كامل أو للمرفقات فقط أو معطل عبر استدعاء REST واحد أو أداة MCP، لصندوق بريد واحد أو نطاق كامل أو كل صناديق الحساب.
تفاصيل المقال
النوع والصعوبة والخطط ومعلومات آخر تحديث.
▼
تفاصيل المقال
النوع والصعوبة والخطط ومعلومات آخر تحديث.
- النوع
- مرجع
- الصعوبة
- متوسط
- الخطط
- Starter · Pro · Agency
- آخر تحديث
- 10 سبتمبر 2026
مساحة التخزين مشتركة على مستوى حسابك، ولذلك فإن استخدام شخص واحد Drive كتخزين سحابي شخصي يستهلك المساحة التي يحتاج إليها الآخرون للبريد. يحمل كل صندوق بريد مستوى drive_access يحدد مقدار ما يستطيع مستخدمه الوصول إليه من Drive. تقدم هذه الصفحة مرجع الأوامر اللازم لضبطه.
يوجد الإعداد نفسه في لوحة التحكم ضمن صناديق البريد → (صندوق بريد) → الحدود. وهو متاح في كل خطة من دون تكلفة إضافية.
المستويات الثلاثة
| القيمة | Drive في بريد الويب | إرسال ملف يتجاوز حد المرفقات | المزامنة مع كمبيوتر |
|---|---|---|---|
full |
نعم: التصفح والرفع والمشاركة والبحث | يرسل كرابط تنزيل ويحتفظ به إلى أجل غير مسمى | نعم |
attachments_only |
لا | يظل يرسل كرابط تنزيل؛ وتحذف تلك النسخة بعد مدة الاحتفاظ | لا |
disabled |
لا | يرفض: يبلغ المرسل بأن الملف أكبر من اللازم | لا |
full هو الإعداد الافتراضي، وهو المستخدم في كل صندوق بريد موجود. لا يتأثر الاستقبال مطلقا: فالمرفق الكبير الذي يرسله شخص ما إلى صندوق البريد يفتح من بريد الويب كالمعتاد، أيا كان المستوى.
النطاق المطلوب
mailboxes:write، وهو النطاق نفسه الذي يحدث أي حقل آخر في صندوق البريد. يقبل كلا endpoint أدناه ترويسة Idempotency-Key ويمكن إعادة محاولتهما بأمان.
صندوق بريد واحد
curl -s -X PATCH "https://trekmail.net/api/v1/mailboxes/{MAILBOX_ID}" \
-H "Authorization: Bearer tm_live_your_token" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: drive-access-{MAILBOX_ID}-off" \
-d '{"drive_access":"disabled"}'
يعاد صندوق البريد المحدث مع المستوى الجديد:
{ "data": { "id": 1701, "email": "sam@example.com", "drive_access": "disabled", "...": "..." } }
تعيد GET /api/v1/mailboxes/{id} وendpoint القائمة أيضا قيمة drive_access، وبذلك يمكنك تدقيق القيمة المضبوطة من دون تغيير أي شيء.
عدة صناديق بريد دفعة واحدة
curl -s -X POST "https://trekmail.net/api/v1/mailboxes:drive-access" \
-H "Authorization: Bearer tm_live_your_token" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: drive-access-domain-123-off" \
-d '{"domain_id":123,"drive_access":"disabled"}'
مرر محددا واحدا بالضبط:
| المحدد | وقت استخدامه |
|---|---|
"mailbox_ids": [12, 34] |
مجموعة محددة، حتى 1000 في الاستدعاء الواحد |
"domain_id": 123 |
نطاق كامل؛ استخدمه عندما يمثل النطاق عميلا واحدا |
"all": true |
كل صناديق البريد في الحساب |
تخبرك الاستجابة بما حدث:
{ "data": { "drive_access": "disabled", "matched": 24, "updated": 21, "skipped_shared": 3 } }
تمثل matched عدد صناديق البريد التي وجدها المحدد، وتمثل updated عدد الصناديق التي تغيرت فعليا. تعد الصناديق الموجودة بالفعل على المستوى المطلوب مطابقة، لكنها لا تحدث، ولذلك لا تسبب إعادة تشغيل الاستدعاء أي ضرر. يفيد ذلك عند تطبيق قيمة افتراضية على صناديق البريد الجديدة وفق جدول زمني.
تطبيقه على صناديق البريد الجديدة
لا يقبل إنشاء صندوق البريد drive_access؛ إذ تبدأ الصناديق الجديدة بالمستوى full. لتوفير صندوق بريد لم يحصل على Drive قط، أنشئه ثم اضبط المستوى:
# 1. Create the mailbox. The server generates the one-time password and returns it once.
curl -s -X POST "https://trekmail.net/api/v1/mailboxes" \
-H "Authorization: Bearer tm_live_your_token" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: create-mailbox-sam" \
-d '{"domain_id":123,"local_part":"sam","password_mode":"generated_one_time"}'
# 2. Turn off Drive using the id returned above.
curl -s -X PATCH "https://trekmail.net/api/v1/mailboxes/1701" \
-H "Authorization: Bearer tm_live_your_token" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: drive-access-1701-off" \
-d '{"drive_access":"disabled"}'
إذا أنشأت صناديق البريد على دفعات، فأبسط نمط هو إنشاؤها كلها ثم إجراء استدعاء جماعي واحد باستخدام domain_id.
باستخدام وكيل MCP
set_mailboxes_drive_access(domain_id=123, drive_access="disabled")
تقبل الأداة المحددات الثلاثة نفسها التي يقبلها endpoint REST، وتعيد الأعداد نفسها. ولصندوق بريد واحد، يعمل أيضا update_mailbox(mailbox_id=1701, drive_access="disabled").
صناديق البريد المشتركة
يرفض endpoint الفردي صناديق البريد المشتركة بالخطأ 422 drive_access_not_applicable، بينما يتخطاها endpoint الجماعي مع استمرار احتسابها. لا يسجل أحد الدخول مباشرة إلى صندوق بريد مشترك: يفتحه فريقك من صناديق بريدهم، ولذلك يطبق مستوى صندوق بريد ذلك العضو. لا يستطيع الشخص الذي عطلت Drive لديه الوصول إلى ملفات صندوق بريد مشترك أو استخدامه للالتفاف على الإعداد.
ما يراه صندوق البريد المقيد
يفرض القيد في كل مكان، ولا يقتصر على إخفائه في الواجهة:
- لا تظهر مساحة Drive الخاصة به في
GET /api/v1/drive/spaces - تجيب ملفاته بالرمز
404عند طلبها حسب id - لا يمكن إنشاء جهاز مزامنة له؛ يعيد
POST /api/v1/drive/devicesالخطأ422 drive_disabled - لا يظهر Drive في الشريط الجانبي لبريد الويب، ولا الرفع بالسحب والإفلات، ولا نتائج Drive في البحث
لا يحذف أي شيء عند تغيير المستوى. تظل الملفات المخزنة بالفعل في مكانها، لكن الشخص لا يستطيع الوصول إليها. ويعني ذلك أيضا أن تعطيل Drive لا يعيد المساحة من تلقاء نفسه. تعرض علامة التبويب الحدود في لوحة التحكم ما يحتفظ به صندوق البريد، ويمكنها حذف تلك الملفات نهائيا إذا أردت استعادة المساحة.
أخطاء قد تواجهها
| الاستجابة | المعنى |
|---|---|
422 drive_access_not_applicable |
صندوق البريد مشترك؛ اضبط المستوى على صناديق بريد الأعضاء بدلا منه |
خطأ تحقق 422 |
أكثر من محدد واحد، أو لا محدد، في endpoint الجماعي |
403 |
يفتقد الرمز mailboxes:write |
مقالات ذات صلة
انتقل إلى الأدلة القريبة التي تُكمل سير العمل.