Este documento describe cómo automatizar la administración y liberación de mensajes en un SMA de Cisco a través de la API REST para procesar grandes volúmenes de mensajes.
Cisco recomienda que tenga conocimiento sobre estos temas:
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
La automatización de la liberación de mensajes es esencial para entornos con un gran volumen de correo electrónico. Mediante el uso de la API, los administradores pueden filtrar mensajes específicos (por ejemplo, por remitente) y liberarlos mediante programación, lo que reduce el tiempo de funcionamiento y el riesgo de errores humanos en comparación con la gestión manual en la GUI.
Para administrar la cuarentena, comience por realizar una consulta inicial para verificar la conectividad y confirmar la estructura de datos.
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
Al recuperar la información, puede ver la misma cantidad de mensajes en la llamada API y en la GUI.
solicitud GET de cartero
Mensajes de TEST_QUARANTINE
Genere su token de autenticación Base64 para el encabezado de autorización:
echo -n 'username:password' | base64
Ejecute la solicitud curl para extraer los mensajes en un archivo local:
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
Compruebe el número total de mensajes recibidos:
$ grep "totalCount" response.json | awk '{ print $2, $3}'
{"totalCount": 24},
Utilice JQ para filtrar los MID de los mensajes que desea liberar (por ejemplo, filtrando por dominio).
$ 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
]
El número de MID puede coincidir si realiza una búsqueda en TEST_QUARANTINE en la GUI de SMA.
búsqueda en cuarentena
resultados de cuarentena
Filtre los MID y genere el archivo de carga.
$ 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
]
}
Envíe la solicitud de liberación al 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}}
Cuando verifique mail_logs para mensajes liberados, puede filtrar por grep "release" mail_logs y los mismos MIDs que filtra arriba, los mismos que fueron liberados.
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
Si realiza la misma búsqueda para el dominio que liberó los mensajes, verá que la búsqueda no tiene resultados, ya que todos los mensajes fueron liberados.
poner en cuarentena nuevos resultados
Vuelva a ejecutar el comando GET desde Recuperar todos los mensajes para confirmar que el totalCount ha disminuido o que los MID específicos ya no están presentes.
consulta GET de postman
$ 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
[]
Para controlar eficazmente las operaciones masivas, debe entender cómo administrar grandes conjuntos de datos mediante paginación. Cuando necesite procesar un gran número de mensajes, debe calcular los parámetros de límite y desplazamiento para asegurarse de recuperar el conjunto completo de datos sin superar las restricciones de respuesta de la API.
Al recuperar un gran volumen de mensajes, utilice esta lógica para configurar su solicitud:
El proceso utilizado en el ejemplo anterior de 10 mensajes sirve de base para todas las operaciones masivas. Para escalar el flujo de trabajo, simplemente realice una iteración por la cola incrementando sistemáticamente el parámetro de desplazamiento. Al "reproducir" con estos valores (ajustar el límite para definir el tamaño del lote y el desplazamiento para navegar por las páginas) puede recuperar y procesar eficazmente toda la cola de cuarentena, independientemente del recuento total de mensajes.
| Revisión | Fecha de publicación | Comentarios |
|---|---|---|
1.0 |
07-Apr-2026
|
Versión inicial |