Artigo: 313404 - Última revisão: segunda-feira, 26 de Novembro de 2007 - Revisão: 2.1

COMO: Registar um receptor de eventos de transporte para o serviço SMTP no Exchange 2000 Server

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Este artigo passo a passo descreve como expandir o serviço Simple Mail Transport Protocol (SMTP) através de um receptor (sink) de eventos de transporte. O código do Microsoft Visual Basic, Scripting Edition (VBScript), verifica a existência de uma linha de assunto que contenha a palavra "virus" e de anexos que tenham uma extensão .vbs, em mensagens de SMTP recebidas. Em ambos os casos, a entrega de mensagens suspeitas é bloqueada.

Registar um receptor de eventos de transporte para o serviço SMTP

  1. Inicie o Explorador do Windows.
  2. Crie uma nova pasta denominada "EventSink" no directório raiz C (C:\EventSink).
  3. Copie o ficheiro Smtpreg.vbs do Exchange Software Developers Kit para a pasta criada.
  4. No Explorador do Windows, abra a pasta C:\EventSink, clique com o botão direito do rato no painel esquerdo, aponte para Novo e, em seguida, clique em Documento de texto.
  5. Atribua o nome Smtpmsgcheck.vbs ao novo ficheiro. Se for apresentada uma caixa de diálogo Mudar o nome, clique em Sim.
  6. Clique com o botão direito do rato no novo ficheiro e, em seguida, clique em Editar. No editor (Bloco de notas), introduza o seguinte código VBScript:
    Sub IEventIsCacheable_IsCacheable()
    'Para implementar a interface e devolver S_OK implicitamente
    Eng Sub 
    
    Sub ISMTPOnArrival_OnArrival(ByVal Msg, EventStatus )
    Dim envFlds
    Dim colAttachs
    Dim iFound
    Set envFlds = Msg.EnvelopeFields
    
    If Msg.Subject = "" Or Len(Msg.Subject) < 5 Then iFound = 0
    Else
       iFound = Instr(1, Msg.Subject, "VIRUS", 1) ' Primeira posição da palavra VIRUS
    End If
    
    'Verificar se a mensagem contém um anexo VBS
    Set colAttachs = Msg.Attachments
    For Each oAttach in colAttachs
       If Instr(1, oAttach.FileName, "vbs", 1)> 0 Then iFound = 1
    Next
    
    If iFound > 0 Then
      'Não entregar, colocar mensagem no directório Badmail.
    envFlds ("http://schemas.microsoft.com/cdo/smtpenvelope/messagestatus") = 3
    envFlds.Update       'Consolidar as alterações do estado da mensagem
    'Ignorar restantes receptores de eventos
    EventStatus = 1
    End If
    End Sub
    					
  7. Guarde as alterações e feche o Bloco de notas.
  8. Crie outro ficheiro de texto, atribua-lhe o nome Instsink.bat, clique com o botão direito do rato no ficheiro e, em seguida, clique em Editar. No Bloco de notas, introduza as seguintes linhas:
    @ECho Off
    
    REM***** As 2 linhas seguintes instalam o receptor de eventos para registar mensagens SMTP *****
    Cscript smtpreg.vbs /add 1 onarrival SMTPMessageCheck
    CDO.SS_SMTPOnArrivalSink "mail from=*"
    Cscript smtpreg.vbs /setprop 1 onarrival SMTPMessageCheck Sink
    ScriptName "C:\EventSink\SMTPMsgCheck.vbs"
    
    REM ********** Remova a tag 'REM' da linha seguinte **********
    REM ***** se pretender desinstalar o receptor de eventos *****
    REM cscript smtpreg.vbs /remove 1 onarrival SMTPMessageCheck
    					
  9. Guarde as alterações e feche o Bloco de notas.
  10. Clique em Iniciar, clique em Executar, escreva cmd e, em seguida, clique em OK para iniciar uma linha de comandos do Windows 2000. Escreva cd \EventSink para passar para a pasta C:\EventSink.
  11. Escreva instsink.bat e prima ENTER para executar o ficheiro batch e registar o EventSink de exemplo, para que este registe mensagens. Certifique-se de que o receptor de eventos é correctamente registado e, em seguida, escreva exit e prima ENTER para sair da linha de comandos.
  12. Clique em Iniciar, clique em Programas, clique em Microsoft Exchange e, em seguida, clique em System Manager.
  13. Clique em Servers, expanda o seu servidor, clique em SMTP e, em seguida, reinicie o Default SMTP Virtual Server.
  14. Teste o receptor de eventos de transporte utilizando Telnet.

A informação contida neste artigo aplica-se a:
  • Microsoft Exchange 2000 Server Standard Edition
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
Palavras-chave: 
kbhowtomaster KB313404