none
Script VBS ou BAT para mandar e-mail RRS feed

  • Pergunta

  •  

    Boa tarde a todos.

     

    Estou com o seguine problema, preciso criar um script BAT ou VBS, que envie um e-mail para mim quando tiver um problema no meu servidor.

     

    Meu servidor tem a opção de rodar programas quando á um falha, porem nao consigo fazer esse script.

     

    Aguardo uma ajuda

     

    Obrigado.

    segunda-feira, 14 de abril de 2008 17:55

Respostas

Todas as Respostas

  • Achei esse script no site da microsoft,

     

    Set objEmail = CreateObject("CDO.Message")
    objEmail.From = "monitor1@fabrikam.com"
    objEmail.To = "admin1@fabrikam.com"
    objEmail.Subject = "Atl-dc-01 down"
    objEmail.Textbody = "Atl-dc-01 is no longer accessible over the network."
    objEmail.Send

     

    Porem quando executo ele da o seguinte erro:

     

    Script: c:\teste.vbs

    linha: 6

    caract: 1

    erro: o valor de configuração "sendUsing" é invalido

     

    Codigo: 80040220

    Origem: CDO.Message.1

     

    Alguem sabe o que esrta acontecendo?

     

    Obrigado

    segunda-feira, 14 de abril de 2008 18:22
  • Ayuso usa esse script aqui e altere o que está em negrito Wink

     

    Set objEmail = CreateObject("CDO.Message")

    objEmail.From = remetente

    objEmail.Subject = "erro"
    objEmail.To = destinatario

    objEmail.Textbody = Body

    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
    "seu_servidor_de_smtp"
    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    objEmail.Configuration.Fields.Update
    objEmail.Configuration.Fields.Update
    objEmail.Send

    segunda-feira, 14 de abril de 2008 19:01
  • Belezinha, problema resolvido.

     

    Obrigado

     

    segunda-feira, 14 de abril de 2008 19:39
  • Sem problemas Ayuso, qualquer coisa é só falar Wink

    segunda-feira, 14 de abril de 2008 20:05
  • Neste script tem como incluir um anexo?

     

    quarta-feira, 16 de abril de 2008 21:03
  • depois da 5 linhja adicione essa linha Wink

     

    objEmail.AddAttachment "caminho total do arquivo"

     

    quarta-feira, 16 de abril de 2008 21:34
  • Blza pessoal...tbm estou precisando do script...e consigo enviar o arquivo de log...

    Mas tem alguma opção para especificar ao script pegar apenas tais linhas do arquivo txt???


    quarta-feira, 7 de maio de 2008 16:39
  •  

    Obtive o seguinte erro:

     

    Script: W:\script logon\email.vbs

    Linha: 15

    Caract.: 1

    Erro: O servidor rejeitou um ou mais endereços de destinatario. A resposta do servidor foi:55 5.7.1 Unable to relay for gmagalhaes@faetsa.com.br

    Codigo: 8004020f

    Origem? (null)

    segunda-feira, 24 de novembro de 2008 17:48
  • Ayuso usa esse script aqui e altere o que está em negrito Wink

     

    Set objEmail = CreateObject("CDO.Message")

    objEmail.From = remetente

    objEmail.Subject = "erro"
    objEmail.To = destinatario

    objEmail.Textbody = Body

    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
    "seu_servidor_de_smtp"
    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    objEmail.Configuration.Fields.Update
    objEmail.Configuration.Fields.Update
    objEmail.Send


    Como faço para setar também e enviar a senha .
     

    quinta-feira, 6 de agosto de 2009 17:32
  • Meu amigo Laerte,

    Eu tb estava precisando de um script que mandasse email por linha de comando e o seu exemplo foi de grande ajuda.
    Estou precisando também, passar parametros para o arquivo ".vbs" e de dentro desse ".vbs" ler esses valores.

    Exemplo:
    Tenho 2 arquivos para serem enviados. Eu tenho um .bat que já sabe o nome deles. Eu precisaria passá-los para o meu ".vbs", que é igual ao que você fez. E com isso usá-los em objEmail.AddAttachment "&1,&2 "

    Agradeço imensamente a ajuda.
    terça-feira, 6 de outubro de 2009 19:18
  • Caro Laerte,

     

          Fiz conforme o script porém o simbolo "@" não é reconhecido pelo sistema e quando não o coloco dá uma mensagem informando que ou o remetente ou o destinatário precisa ser informado, teria como ajudar a resolver ?

    terça-feira, 7 de dezembro de 2010 03:36
  • Caro Laerte,

     

          Fiz conforme o script porém o simbolo "@" não é reconhecido pelo sistema e quando não o coloco dá uma mensagem informando que ou o remetente ou o destinatário precisa ser informado, teria como ajudar a resolver ?

    Coloque o destinatário entre parenteses  "Seu@destinatario".

    Efetue os testes e poste os resultados!

    []'s, 

     


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    terça-feira, 7 de dezembro de 2010 11:50
  • Caro Marcellus,

     

          Fiz as alterações que você sugeriu e deu a seguinte mensagem:

    Script (caminho e nome do script)
    Linha : 19
    Caract.: 1
    Erro: Não foi possível enviar a mensagem para o servidor SMTP. O código de erro de transporte foi 0x80040217. A resposta do sevidor foi not available

    Código: 80040211
    Origem: (null)

     

    O itrigante é que tenho um outro script aqui que faz basicamente a mesma coisa, porém não pega anexos e funciona perfeitamente. Existe alguma linha onde eu possa indicar configurações de autenticações caso precise ? Desde já agradeço a sua ajuda.

    quinta-feira, 9 de dezembro de 2010 04:09
  • Ayuso usa esse script aqui e altere o que está em negrito Wink

     

    Set objEmail = CreateObject("CDO.Message")

    objEmail.From = remetente

    objEmail.Subject = "erro"
    objEmail.To = destinatario

    objEmail.Textbody = Body

    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
    "seu_servidor_de_smtp"
    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    objEmail.Configuration.Fields.Update
    objEmail.Configuration.Fields.Update
    objEmail.Send

    Usei exatamente isto que voce sugeriu, e obtive o erro : 

    https://cid-652017541c539f50.photos.live.com/self.aspx/Prints/EnviaEmail.JPG

    sexta-feira, 4 de março de 2011 10:45
  • Ayuso usa esse script aqui e altere o que está em negrito Wink

     

    Set objEmail = CreateObject("CDO.Message")

    objEmail.From = remetente

    objEmail.Subject = "erro"
    objEmail.To = destinatario

    objEmail.Textbody = Body

    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
    "seu_servidor_de_smtp"
    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    objEmail.Configuration.Fields.Update
    objEmail.Configuration.Fields.Update
    objEmail.Send

        aí amigo, usei este mesmo cóigo, porém obtive o erro :

    conforme documentado nesta imagem aqui. http://img231.imageshack.us/img231/2200/enviaemail.jpg



    sexta-feira, 4 de março de 2011 11:00
  • Ayuso usa esse script aqui e altere o que está em negrito Wink

     

     

    Set objEmail = CreateObject("CDO.Message")

    objEmail.From = remetente

    objEmail.Subject = "erro"
    objEmail.To = destinatario

    objEmail.Textbody = Body

    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
    "seu_servidor_de_smtp"
    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    objEmail.Configuration.Fields.Update
    objEmail.Configuration.Fields.Update
    objEmail.Send

        aí amigo, usei este mesmo cóigo, porém obtive o erro :

    conforme documentado nesta imagem aqui. http://img231.imageshack.us/img231/2200/enviaemail.jpg



     

    Se seu servidor SMTP solicitar autenticação (Usuário e senha) vc deverá especificar...

    Esse código é para servidores SMTP que não precisam autenticar.

     

    Veja um exemplo com autenticação...

     

     

    Set objEmail = CreateObject("CDO.Message")
    
    Subjectline = ""
    messagebody = ""
    Subjectline = "Exemplo de subject"
    Messagebody = ""
    			
    			
    
    SMTPServerAddress = "seusmtp"
    
    '*** This section provides the configuration information for the remote SMTP server ***
    
    With objEmail
    
     'DO NOT CHANGE ANYTHING FOR THE FOLLOWING LINE
     .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    
     'Name or IP of Remote SMTP Server
     .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTPServerAddress
    
     'Type of authentication, NONE, Basic (Base64 encoded), NTLM
    .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic
    
     'Your UserID on the SMTP server
    .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "usuario"
    
     'Your password on the SMTP server
    .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "senha"
    
     'Server port (typically 25)
     .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    
     'Use SSL for the connection (False or True)
    .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
    
     'Connection Timeout in seconds (the maximum time CDO will try to establish a connection to the SMTP server)
     .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
    
     'DO NOT CHANGE ANYTHING FOR THE FOLLOWING LINE
     .Configuration.Fields.Update
    
     'The line below shows how to add attachment
     '.AddAttachment "C:\test.txt"
    
     'Send text body Email
     'objEmail.Textbody = "Server1 is no longer accessible over the network."
    
     'Send html body Email
     'objEmail.HTMLBody = "<font face=arial color=blue>Server1 is no longer accessible over the network.</font>
    
     'The line below shows how to send a webpage from a remote site
     'objEmail.CreateMHTMLBody "http://www.google.com.hk/"
    
     'The line below shows how to send a webpage from a file on your machine
     'objEmail.CreateMHTMLBody "file://c|/test.htm"
    
    End With
    
    '*** End remote SMTP server configuration section ***
    
    'WScript.Echo "Sending Email..."
    With ObjEmail
     .From = "enviadopor@aseugosto.com.br"
     .To = "seuemail@seudominio.com.br"
     .Subject = subjectline
     .HTMLBody = "<p><b>Sua mensagem HTML</b></p>"
    End With
    'On Error Resume Next
    objEmail.Send
    
    'WScript.Echo "Finished Sending Email."
    Set objEmail = Nothing
    

     

    Tem alguns itens comentados...ex: Anexos...pagina remota....analise o script e poste os resultados!

    []',s


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    sexta-feira, 4 de março de 2011 16:23
  • pode enviar um exemplo dessa configuração utilizando o Gmail?
    quarta-feira, 13 de fevereiro de 2013 11:54
  • Boa tarde,

    Antes de enviar o e-mail com anexo eu gero um outro script que compacta os arquivo e coloca a data tipo "arquivo(17_07_2017)", como eu para adicionar este arquivo utilizando arquivo*.zip?

    Rodrigo Diniz

    segunda-feira, 17 de julho de 2017 18:17