Enviando mail usando un script
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.
Veamos 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.
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") = 2objEmail.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.Update
Algunos 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.SendY ya estamos listos para ejecutar nuestro script.
Saludos!
Isa
2 comentarios:
Buenas tardes,al ejecutar el script sale error 80040213 "error de transporte en la conexión al servidor".
Puedes ayudarnos?
Me sale el mismo error....
Publicar un comentario