Archivo del blog

13 noviembre 2019

Enviar correo desde un script

Haciendo limpieza en el correo de la empresa, me encuentro con este estupendo y maravilloso script que montamos mi colega César y yo. No es que sea una obra de arte, pero me ahorró un tiempo fabuloso a nivel de trabajo repetitivo, ya que tardábamos más en enviar los correos uno a uno, creando los 7 correos, modificando las plantas, enviándolos uno tras otro.

Pero como siempre pasa, te interrumpen con alguna urgencia, o soporte en alguna reunión, y ya teníamos que posponer el envío, a veces incluso duplicamos los correos que enviábamos por este motivo, etc.., y a veces terminamos pidiendo ayuda a los compañeros del SAU para que nos completen este envío.

Este script está en VBS y es muy fácil de usar e interpretar, ya que los correos que envía son siempre para el mismo remitente, en nuestro ejemplo "itServiceDesk@laempresaquesea.com", con un asunto ya definido:  "Carga papel Printing Room Planta " & i, y una variable (i) que muestra la planta, y un mensaje definido en HTML en el cuerpo del mensaje para la creación de los tickets en el SAU. incluyendo la firma genérica del cliente, y poco más.

Script

'Script de envío de correo
'versión 1.0
'Creado por César Lorente y Justo Horrillo
'Creamos un bucle para enviar 7 correos, uno por cada planta
'Con un asunto y cuerpo definido en el script
On Error Resume Next
For i = 1 To 7
    Set oLook = CreateObject("Outlook.Application")
    Set oMail = oLook.createitem(olMailItem)
    Set WSHnet = CreateObject("WScript.Network")
    UserName = WSHnet.UserName
    UserDomain = WSHnet.UserDomain
    Set TheUser = GetObject("WinNT://" & UserDomain & "/" & UserName & ",user")
    With oMail
        .To = "itServiceDesk@laempresaquesea.com"
        .Subject = "Carga papel Printing Room Planta " & i
        .HTMLBody = "Saludos,


Carga papel Printing Room Planta " & i & "

" & TheUser.FullName & "
_________________________

Proveedor externo de: 
La Empresa que guste.
Information Technology
IT Services"
        '.display
        .Send
    End With
    Set oMessage = Nothing
    Set oMail = Nothing
    Set oLook = Nothing
    StartTIME = Timer
    Do While Timer < StartTIME + 10
    Loop
Next
'Abrimos mensaje informando de que se ha completado el envío de los correos.
MsgBox ("Se ha realizado envío de los correos.")

Una vez ejecutemos el script, veremos que los correos van saliendo y los reciben los compañeros del SAU.

Espero que os sea de tanta utilidad como me fue a mí.

Saludos.

No hay comentarios:

Publicar un comentario

🚀 Automatiza la instalación de Windows como un PRO con Unattend Generator

Si alguna vez has tenido que instalar Windows repetidamente, sabrás lo tedioso que puede ser pasar una y otra vez por las mismas pantallas d...