Invio mail da script

Ciao a tutti, ultimamente mi sono dedicato a riveredere i vari script che ho messo su sistemi in produzione script per la manutenzione, backup e per automazioni.

Oggi voglio presentarvi un semplice script vbs per l’invio delle mail alla fine di attività di manutenzione.

' #### Modificare solamente i parametri sottostanti.
' 2010-03-18		START WORK
' 2011-05-15		cleaning code
'---------------------------------------------------------------------------------------------------------
' Setto i parametri generali di invio / ricezione delle mail
Sender = "sendermail@domainname.ext"          ' Mail Mittente
Recipient = "realmail@domain.ext"             ' Mail Destinatario
SmtpSrv = "smtpserver"                        ' Indirizzo del server SMTP [IP o Hostname]
SmtpAuth = ""                                 ' Mail di Autenticazione x l'invio
SmtpPwd = "password"                          ' Password dell'account x l'autenticazione
SmtpPort = "25"                               ' Porta di destinazione del server SMTP [in genere 25]
Attachment = "c:file.ext"
'---------------------------------------------------------------------------------------------------------
      Dim objNTInfo
      Set objNTInfo = CreateObject("WinNTSystemInfo")
      GetComputerName = lcase(objNTInfo.ComputerName)
      hostname = GetComputerName

      Set objMessage = CreateObject("CDO.Message")
      objMessage.Subject = "[" & hostname & "]" & " - " & SubjectB
      objMessage.From = Sender
      objMessage.To = Recipient
      objMessage.TextBody = hostname & " " & SubjectB
	  objMessage.AddAttachment Attachment
      objMessage.Configuration.Fields.Item _
      ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
      objMessage.Configuration.Fields.Item _
      ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SmtpSrv
      objMessage.Configuration.Fields.Item _
      ("http://schemas.microsoft.com/cdo/configuration/sendusername") = SmtpAuth
'      objMessage.Configuration.Fields.Item _
'      ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = SmtpPwd
      objMessage.Configuration.Fields.Item _
      ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = SmtpPort
      objMessage.Configuration.Fields.Update
      objMessage.Send

L’unica accortezza che dovete tenere è di integrare alla fine del vostro script il seguente codice, chiaramente modificato coi dati di vostro interesse, o richiamarlo con il percorso completo dove risiede.

ES. in uno script batch

@echo OFF
[… cut …]
bla bla bla faccio il backup … bla bla bla
[… cut …]
cscript.exe c:vbscriptsendmail.vbs
exit

mentre all’interno di uno script vbs potete definire una funzione che contenga tutta la parte di codice sopra indicata e, alla fine dell’attività che esegue il vostro script richiamare la funzione del sendmail.

DV

Dario Villa

Learn More →

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.