Usando VBS para envio automatico de e-mail

janeiro 24, 2011

O envio de e-mail automático pelo sistema pode se tornar muito interessante para administradores de TI para que possamos automatizar nossas rotinas com envio de logs ou alertas, para isso vamos utilizar o VBScript.

Pode-se instalar um servidor SMTP local para envio dos emails automaticos conforme descrito nesse artigo

O que acho interessante ressaltar em uma primeiro momento é que podemos
trabalhar com variaveis no nossos scripts de envio de email tornando-os mais
flexiveis.

Em um ambiente Microsoft, quando utilizamos o cscript para chamar o nosso vbs podemos incluir parametros que servirão como variaveis para nosso email, por exemplo:

Criamos uma bat que chamará o compactador 7-zip e em seguida nosso vbs que enviará um uma mensagem com o codigo de erro gerado pelo 7-zip e o anexo .zip datado:

set HOJE=%date:~10,4%-%date:~4,2%-%date:~7,2%
"c:\Program Files\7-Zip\7z" a -tzip -mx9 "C:\ZIP\MEUBKP-%DATA%.zip" "C:\Dados"
cscript "C:\Suporte\Envia-email.vbs "ERRO: %ERRORLEVEL%" "C:\ZIP\MEUBKP-%DATA%.zip"

* o Importante acima é entender que o cscript chamou uma vbs com dois parametros, um texto e um arquivo zip

Para que isso seja possível nosso VBS deverá estar montado usando as variaveis “wscript.Arguments.Item(x)”, onde x é o id do parametro definido acima partindo do ID=0 (zero)

Abaixo nosso vbs:

Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "ASSUNTO: ENVIO DE BKP"
objMessage.From = "DE@MEUEMAIL.COM"
objMessage.To = "PARA@EMAILDESTINO.COM"
'Abaixo definimos que a mensagem enviada será buscada do primeiro (0) parametro definido apos chamarmos o vbs
objMessage.TextBody = wscript.Arguments.Item(0)
'Abaixo definimos que o anexo da mensagem enviada será buscada do segundo (1) parametro definido apos chamarmos o vbs
objMessage.AddAttachment wscript.Arguments.Item(1)

'Esta seção fornece as informações de configuração para o servidor SMTP remoto.
'Normalmente, você só vai mudar o nome do servidor ou o IP.
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

'Name or IP of Remote SMTP Server
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.meusservidorsmtp.local"

'Server port (typically 25)
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMessage.Configuration.Fields.Update

'Fim da configuração e envio do email

objMessage.Send

Outras opções de Envio de e-mail por VBS aqui

Anúncios

Uma resposta to “Usando VBS para envio automatico de e-mail”


  1. that is a good blog and the Right Theme how I have search by google


Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: