Aide en ligne watchDirectory > Extensions > Automatiquement Envoyer un Email > Utiliser la macro $CALL$
Utiliser la macro $CALL$
À l'intérieur des zones Envoyer un email à, Sujet et Corps vous pouvez utiliser cette macro pour permettre à votre tâche d'appeler un script de commandes. Ce script bénéficiera de très nombreuses Variables d'environnement disponibles pour nommer le fichier détecté. Le "résultat" du script remplacera la macro $CALL$.
Lorsque le script est appelé, la variable WD_EMAIL_PART est également affecté à "TO" (le script appelé pour récupérer les destinataires du mail), "SUBJECT" (script appelé pour le sujet) ou "BODY" (script appelé pour le corps du message).
Syntaxe
$CALL:C:\Full\path\to\batfile.bat$
Exemple: indiquer le sujet dynamiquement en fonction du contenu d'un fichier
La tâche surveille le répertoire dans lequel les fichiers de log sont créés. Ces fichiers de log sont envoyés par email au bureau d'assistance (support) afin qu'ils vérifient si tout s'est bien passé. Afin de mieux prendre en compte les mails avec erreur, le script vérifie le fichier détecté avec le mot "Erreur" et adapte le sujet en fonction.
rem utiliser la commande FINDSTR pour cherche la chaine Erreur dans le fichier détecté FINDSTR /I "Erreur" "%WD_FILE%" IF %errorlevel% EQU 0 GOTO :ErrorFound GOTO :ErrorNotFound :ErrorFound ECHO [ERROR] %WD_FILE_N% Traitement execute, avec des erreurs > "%WD_RESULTFILE%" GOTO :EOF :ErrorNotFound ECHO %WD_FILE_N% Traitement execute sans problème > "%WD_RESULTFILE%" GOTO :EOF
Exemple: envoyer la moitié des emails à John, le reste à Eric
Il y a 2 employés responsables pour traiter les fichiers entrants. Le script ci dessous "répartira" les emails de notifications 1 fois sur 2 à John et Eric.
rem WD_CUREVT contient un nombre unique pour l'événement en cours (fichier détecté) rem lorsuqe c'est un nombre impair (1, 3, 5, ...) l'email ira à John. rem récupérer le modulo de WD_CUREVT (ceci affectera la variable MOD à 0 ou 1). SET /A MOD=%WD_CUREVT% % 2 IF %MOD% EQU 1 GOTO :john ECHO eric@example.com > "%WD_RESULTFILE%" ECHO CC:Help Desk^<support@example.com^> >> "%WD_RESULTFILE%" GOTO :EOF :john ECHO john@example.com > "%WD_RESULTFILE%" ECHO CC:Help Desk^<support@example.com^> >> "%WD_RESULTFILE%"