Ayuda de watchDirectory > Extensiones > Enviar correo electrónico de forma automática > La macro $CALL$
Cómo usar la macro $CALL$
Esta macro se puede utilizar dentro de los campos Enviar correo a, Asunto y Cuerpo del mensaje para permitir que la tarea llame un archivo de guión .bat (script). Este archivo tendrá disponibles un montón de Variables de entorno relacionadas con el archivo detectado. El "resultado" de este script reemplazará la macro $CALL$.
Cuando se llame al archivo guión, la variable WD_EMAIL_PART se establecerá a uno de los siguientes valores: "TO" (el script se ha llamado para obtener los destinatarios del mensaje), "SUBJECT" (el script se ha llamado para obtener el asunto del mensaje) o "BODY" (el script se ha llamado para obtener el cuerpo del mensaje).
Sintaxis
$CALL:C:\Ruta\completa\hacia\elarchivobat.bat$
Ejemplo: establecer el asunto de forma automática, según el contenido del archivo
La tarea está monitorizando una carpeta donde se crean archivos de registro. Estos registros se envían por correo electrónico al equipo de soporte, que debe comprobarlos para asegurarse que todo funciona correctamente. Para diferenciar los correos con registros de errores del resto, este script comprueba el archivo detectado en busca de la palabra "Error" y modifica el asunto cuando sea necesario.
rem usar el comando FINDSTR para buscar la cadena Error dentro del archivo detectado FINDSTR /I "Error" "%WD_FILE%" IF %errorlevel% EQU 0 GOTO :ErrorFound GOTO :ErrorNotFound :ErrorFound ECHO [ERROR] %WD_FILE_N% Proceso completado, se encontraron Errores > "%WD_RESULTFILE%" GOTO :EOF :ErrorNotFound ECHO %WD_FILE_N% Proceso completado sin incidencias > "%WD_RESULTFILE%" GOTO :EOF
Ejemplo: enviar la mitad de los correos a Juan, y la otra mitad a Enrique
Hay 2 empleados responsables de procesar los archivos entrantes. El siguiente guión "distribuirá" las notificaciones por correo electrónico de forma equitativa a Juan y a Enrique.
rem WD_CUREVT contiene un número único asignado al evento actual (archivo detectado) rem cuando se trate de un número impar (1, 3, 5, ...) el mensaje de correo electrónico debería enviarse a Juan. rem obtener el resto de WD_CUREVT (esto establecerá la variable MOD a 0 ó 1). SET /A MOD=%WD_CUREVT% % 2 IF %MOD% EQU 1 GOTO :juan ECHO enrique@ejemplo.com > "%WD_RESULTFILE%" ECHO CC:Asistencia^<soporte@ejemplo.com^> >> "%WD_RESULTFILE%" GOTO :EOF :juan ECHO juan@ejemplo.com > "%WD_RESULTFILE%" ECHO CC:Asistencia^<soporte@ejemplo.com^> >> "%WD_RESULTFILE%" -Regresar a La extensión del correo electrónico



