Muchas veces me ha tocado configurar script que necesitan enviar mails e incluso atachar archivos al mismo, no es algo complicado y es facil de encontrar a traves de google, pero seguramente muchos no lo conocen y de seguro mas de alguien lo encontrara super practico :D
Como administradores es super util automatizar algunas tareas, los invito a visitar el Script Center de Microsoft donde encontraran este y muchos otros scripts muy utilies.
Este script usa CDO (Collaboration Data Objects), el codigo lo escribimos en un archivo de extension .vbs y lo ejecutamos usando el comando cscript.
cscript C:\Alertas\alerta.vbsVeamos ahora como armar este mail y enviarlo.
Primero que nada creamos el objeto que usaremos para enviar el mail, para ello crearemos una instancia que llamaremos objEmail que sera un objeto CDO.Message.
Set objEmail = CreateObject("CDO.Message")
Cuando se envia un mail lo primero es indicar quien lo envia y a quien, esto se hace en los atributos From y To del objeto creado.
objEmail.From = "helpdesk@fabrikam.com"
objEmail.To = "administrator@fabrikam.com"Por supuesto esto no basta, necesitamos agregarle el tema y por supuesto el contenido del mensaje.
objEmail.Subject = "Server down"
objEmail.Textbody = "Server1 is no longer accessible over the network."Seguramente queremos tambien agregar algun archivo atachado a este mensaje.
objEmail.AddAttachment "C:\Scripts\Output.txt"
Ya tenemos nuestro mail, ahora hay que enviarlo, una de las formas es usando un smtp local (IIS), con lo cual no necesitamos agregar nada mas a nuestro script, aunque si debemos configurar el smtp para que reciba los mails y lo reenvie a donde corresponda, pero si deseamos usar nuestro servidor de correo que ya tenemos funcionando debemos agregar unas lineas mas.
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "serversmtp"
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.UpdateAlgunos servidores por seguridad piden autenticacion, si este es el caso otro par de lineas nos ayuda con esto.
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "fabrikam\kenmyer"
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "&gr54#wgha"Y por ultimo, enviamos el mail
objEmail.Send
Y ya estamos listos para ejecutar nuestro script.
Saludos!
Isa