Ayuda de watchDirectory > Extensiones > Ejecutar archivos .bat de forma automática
Enviar correo electrónico desde archivos .bat
Existe otra extensión instalada con watchDirectory que permite gestionar las tareas más habituales del envío de correos electrónicos. Sin embargo, si se desea más flexibilidad, también se pueden enviar los correos electrónicos desde un archivo .bat. Este método delega el envío en la aplicación wdPostMan, configurada a través de la opción "View -> Email settings" del menú. Ver Configuraciones del correo electrónico para más información.
El envío de correos electrónicos desde archivos .bat es muy sencillo, porque la aplicación wdPostMan procesará de forma automática todos los guiones de correo electrónico creados dentro de la carpeta Out en la carpeta correo. Los guiones de correo electrónico son archivos de texto plano con una extensión wdmail.
Ejemplo de envío de correo electrónico desde un archivo .bat
Las letras que aparecen delante de cada línea se utilizan para explicar el contenido del archivo guión. No deben ser incluidas en un archivo .bat real.
A set EMAILFILE=%WD_TASKDIR%\..\System.Mail\Out\%WD_CONFIG%_%WD_CUREVT%.TMP B echo este es el asunto > "%EMAILFILE%" C echo Juan Tres Dedos^<jt.dedos@jtd.com^>;Maria Dedos^<m.dedos@jtd.com^> >> "%EMAILFILE%" D echo. >> "%EMAILFILE%" E echo ^<copiasecretabcc@jtd.com^> >> "%EMAILFILE%" F echo %WD_FILE_SHORTPATH% >> "%EMAILFILE%" G echo pecunia non olet >> "%EMAILFILE%" H echo Queridos Juan y Maria, >> "%EMAILFILE%" I echo Adjunto encontrareis el archivo %WD_FILE_N% >> "%EMAILFILE%" J echo saludos, >> "%EMAILFILE%" K echo %COMPUTERNAME% >> "%EMAILFILE%" L rem perfecto, hemos creado el archivo, ahora lo renombramos para que wdPostMan lo procese. M ren "%EMAILFILE%" %WD_CONFIG%_%WD_CUREVT%.wdmail
Explicación de este ejemplo básico
Línea A: set EMAILFILE=%WD_TASKDIR%\..\System.Mail\Out\%WD_CONFIG%_%WD_CUREVT%.TMP
En esta línea se crea una variable de archivo .bat con un identificador único para esta invocación del archivo .bat. No queremos que dos
invocaciones del archivo .bat se sobrescriban entre ellas.
%WD_TASKDIR%\..\System.Mail\Out se expandirá a la ruta de la carpeta monitorizada por la aplicación wdPostMan para el envío de correos electrónicos.
%WD_CONFIG% se expandirá al nombre asignado a esta tarea en watchDirectory.
%WD_CUREVT% se expandirá al número asignado al evento actual.
De esta forma, la variable EMAILFILE contendrá algo parecido a:
C:\Documents and Settings\All Users\Application Data\watchDirectory\System.Mail\Out\AutoCopy_76234.TMP
Se utiliza una extensión TMP (en lugar de la extensión WDMAIL esperada por la aplicación wdPostMan)
para evitar que el guión de correo electrónico sea procesado por la aplicación wdPostMan hasta que no hayamos terminado de escribir en él.
En la línea "M", cuando hayamos terminado de escribirlo completamente, el archivo será renombrado para que wdPostMan lo vea.
Línea B: echo este es el asunto > "%EMAILFILE%"
Esto escribe el asunto en el archivo guión del correo electrónico. wdPostMan interpreta siempre la primera línea del script como el asunto.
Asegúrese de utilizar el caracter (">") simple en esta línea del guión script del correo electrónico.
Línea C: echo Juan Tres Dedos^<jt.dedos@jtd.com^>;Maria Dedos^<m.dedos@jtd.com^> >> "%EMAILFILE%"
La segunda línea del script se interpreta por wdPostMan como la línea "Para:". Todos los destinatarios incluidos en esta línea recibirán
el mensaje. Se puede enviar a múltiples direcciones, separándolas con un punto y coma (;).
Importante: Como sea que los caracteres < y > tienen un significado especial dentro de los archivos .bat, estos deben ser "desactivados" mediante el uso del signo ^ delante de los mismos.
Línea D: echo. >> "%EMAILFILE%"
La tercera línea del script de correo electrónico es interpretada por wdPostMan como la línea "Copia:". Las direcciones que se incluyan aquí
recibirán una copia (CC) del mensaje.
El ejemplo no envía el mensaje a ningún destinatario en copia, pero debe ser incluida para respetar el sencillo algoritmo utilizado por wdPostMan.
Hay que asegurarse de la existencia de una linea vacía aquí, si no hay destinatarios en copia. Una declaración ECHO seguida inmediatamente por un punto (ECHO.)
producirá este efecto.
Importante: No dejar ningún espacio entre ECHO y el punto, pues esto escribirá una linea conteniendo
un punto en el guión del correo electrónico.
Línea E: echo ^<copiasecretabcc@jtd.com^> >> "%EMAILFILE%"
La cuarta líea del guión será interpretada por wdPostMan como la línea "BCC:". Las direcciones incluídas aquí recibirán una copia oculta del mensaje.
Línea F: echo %WD_FILE_SHORTPATH% >> "%EMAILFILE%"
La quinta línea del script se interpreta como la lista de archivos a incluir en el mensaje.
En este ejemplo se utiliza la nomenclatura conocida como nombres de archivo compatibles con DOS 8.3. Se pueden incluir múltiples archivos
separándolos con punto y coma (;). Si desea que el archivo sea eliminado después del envío, escribir su nombre empezando con un signo de
exclamación (!):
echo !%WD_FILE_SHORTPATH% >> "%EMAILFILE%"
Recordar añadir una línea vacía si no se quieren añadir archivos:
ECHO. >> "%EMAILFILE%"
Línea G: echo pecunia non olet >> "%EMAILFILE%"
La sexta línea del guión será ignorada por wdPostMan. En la misma se puede escribir lo que se desee,
pues no será ni procesada ni enviada.
Líneas H hasta K: echo ... >> "%EMAILFILE%"
Todas las líneas siguientes serán tratadas como el cuerpo del mensaje.
Se pueden usar Variables de entorno especiales para
personalizar el mensaje según el evento que se esté procesando. La variable %COMPUTERNAME% utilizada en el ejemplo
es una variable estándar del entorno Windows, que también puede ser utilizada.
Línea M: ren "%EMAILFILE%" %WD_CONFIG%_%WD_CUREVT%.wdmail
Como la aplicación wdPostMan solo procesa archivos con extensión .wdmail, este último paso renombra el archivo script para que sea
procesado por wdPostMan.



