يوضح هذا المستند كيفية أتمتة إدارة الرسائل والإصدار على Cisco SMA عبر واجهة برمجة تطبيقات REST لمعالجة كميات كبيرة من الرسائل.
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
لا يقتصر هذا المستند على إصدارات برامج ومكونات مادية معينة.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
يعد أتمتة إصدار الرسائل أمرا ضروريا للبيئات التي تحتوي على نسبة كبيرة من رسائل البريد الإلكتروني. باستخدام واجهة برمجة التطبيقات (API)، يمكن للمسؤولين تصفية رسائل معينة (على سبيل المثال، بواسطة المرسل) والإفراج عنها برمجيا، مما يقلل وقت التشغيل وخطر الأخطاء البشرية مقارنة بالإدارة اليدوية في واجهة المستخدم الرسومية (GUI).
لإدارة العزل، ابدأ بإجراء استعلام أولي للتحقق من الاتصال وتأكيد بنية البيانات.
https://dhxyz-sma2.iphmx.com/sma/api/v2.0/quarantine/messages?quarantineType=pvo&quarantines=TEST_QUARANTINE&limit=25&offset=0&orderBy=received&orderDir=desc&startDate=2026-03-15T00:00:00.000Z&endDate=2026-03-16T00:00:00.000Z
عند إسترداد المعلومات، يمكنك رؤية نفس كمية الرسائل في إستدعاء API وفي واجهة المستخدم الرسومية (GUI).
طلب GET الخاص بسجل البريد
رسائل TEST_QUARANTINE
إنشاء رمز مصادقة Base64 المميز لرأس التخويل:
echo -n 'username:password' | base64
قم بتنفيذ طلب إعادة التوجيه لاستخراج الرسائل إلى ملف محلي:
curl -X GET "https://dhxyz-sma2.iphmx.com/sma/api/v2.0/quarantine/messages?quarantineType=pvo&quarantines=TEST_QUARANTINE&limit=25&offset=0&orderBy=received&orderDir=desc&startDate=2026-03-15T00:00:00.000Z&endDate=2026-03-16T00:00:00.000Z" \
-H "Authorization: Basic token-generated-in-base64" \
-H "Accept: application/json" \
-o response.json
تحقق من العدد الإجمالي للرسائل التي تم تلقيها:
$ grep "totalCount" response.json | awk '{ print $2, $3}'
{"totalCount": 24},
أستخدم JQ لتصفية MIDs للرسائل التي تريد إصدارها (على سبيل المثال، التصفية حسب المجال).
$ jq '[.data[] | select(.attributes.sender | endswith("@labcisco.com")) | .mid]' response.json > mids-labcisco-domain.json
$ cat mids-labcisco-domain.json
[
440,
439,
438,
437,
436,
435,
434,
433,
425,
414
]
يمكن أن يتطابق عدد MIDs إذا قمت بإجراء بحث في TEST_QUARANTINE في واجهة المستخدم الرسومية ل SMA.
تفتيش العزل
نتائج العزل
قم بتصفية MIDs وإنشاء ملف الحمولة.
$ jq '{action:"release", quarantineType:"pvo", quarantineName:"TEST_QUARANTINE", mids:[.data[] | select(.attributes.sender | endswith("@labcisco.com")) | .mid]}' response.json > payload.json
$ cat payload.json
{
"action": "release",
"quarantineType": "pvo",
"quarantineName": "TEST_QUARANTINE",
"mids": [
440,
439,
438,
437,
436,
435,
434,
433,
425,
414
]
}
إرسال طلب الإصدار إلى SMA:
$ curl -X POST "https://dhxyz-sma2.iphmx.com/sma/api/v2.0/quarantine/messages" \
-H "Authorization: Basic token-generated-in-base64" \
-H "Content-Type: application/json" \
-d @payload.json
{"data": {"action": "release", "totalCount": 10}}
عند التحقق من mail_log للرسائل التي تم إصدارها، يمكنك تصفية رسائل GREP "release" mail_log ونفس بطاقات MID التي تقوم بتصفيتها أعلاه، نفس تلك التي تم إصدارها.
Sun Mar 15 11:48:21 2026 Info: MID 436 released from quarantine "TEST_QUARANTINE" (manual) t=1393
Sun Mar 15 11:48:21 2026 Info: MID 425 released from quarantine "TEST_QUARANTINE" (manual) t=1411
Sun Mar 15 11:48:21 2026 Info: MID 414 released from quarantine "TEST_QUARANTINE" (manual) t=2787
Sun Mar 15 11:48:21 2026 Info: MID 433 released from quarantine "TEST_QUARANTINE" (manual) t=1397
Sun Mar 15 11:48:21 2026 Info: MID 440 released from quarantine "TEST_QUARANTINE" (manual) t=1387
Sun Mar 15 11:48:21 2026 Info: MID 439 released from quarantine "TEST_QUARANTINE" (manual) t=1388
Sun Mar 15 11:48:21 2026 Info: MID 434 released from quarantine "TEST_QUARANTINE" (manual) t=1396
Sun Mar 15 11:48:21 2026 Info: MID 437 released from quarantine "TEST_QUARANTINE" (manual) t=1391
Sun Mar 15 11:48:21 2026 Info: MID 435 released from quarantine "TEST_QUARANTINE" (manual) t=1395
Sun Mar 15 11:48:21 2026 Info: MID 438 released from quarantine "TEST_QUARANTINE" (manual) t=1390
إذا قمت بنفس البحث للمجال الذي قمت بإطلاقه، فسترى أن البحث لا يحتوي على نتائج، نظرا لأنه تم إصدار كافة الرسائل.
عزل النتائج الجديدة
قم بإعادة تشغيل الأمر get من إسترداد جميع الرسائل للتأكد من انخفاض totalCount أو عدم وجود منافذ MID معينة بعد الآن.
استعلام GET لساعي البريد
$ curl -X GET "https://dhxyz-sma2.iphmx.com/sma/api/v2.0/quarantine/messages?quarantineType=pvo&quarantines=TEST_QUARANTINE&limit=25&offset=0&orderBy=received&orderDir=desc&startDate=2026-03-12T00:00:00.000Z&endDate=2026-03-14T00:00:00.000Z" \
-H "Authorization: Basic token-generated-in-base64" \
-H "Accept: application/json" \
-o response.json
$ jq '[.data[] | select(.attributes.sender | endswith("@labcisco.com")) | .mid]' response.json > mids-labcisco-domain.json
$ cat mids-labcisco-domain.json
[]
للتعامل مع العمليات الكبيرة بفعالية، يجب أن تفهم كيفية إدارة مجموعات البيانات الكبيرة باستخدام ترقيم الصفحات. عندما تحتاج إلى معالجة عدد كبير من الرسائل، يجب حساب معلمات الحد والإزاحة لضمان إسترداد مجموعة البيانات الكاملة بدون تجاوز قيود إستجابة واجهة برمجة التطبيقات.
عند إسترداد كمية كبيرة من الرسائل، أستخدم هذا المنطق لتكوين طلبك:
تخدم العملية المستخدمة في المثال السابق المكون من 10 رسائل كأساس لجميع العمليات المجمعة. لتغيير حجم سير العمل لديك، ببساطة قم بالتكرار من خلال قائمة الانتظار من خلال زيادة معلمة الإزاحة بشكل منهجي. من خلال "التشغيل" مع هذه القيم - ضبط الحد لتحديد حجم الدفعة والإزاحة للتنقل عبر الصفحات - يمكنك إسترداد قائمة انتظار العزل بالكامل ومعالجتها بشكل فعال، بغض النظر عن إجمالي عدد الرسائل.
| المراجعة | تاريخ النشر | التعليقات |
|---|---|---|
1.0 |
07-Apr-2026
|
الإصدار الأولي |