DetailPage-MSS-KB

Base de Dados de Conhecimento

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

Para obter uma versão deste artigo referente ao Microsoft Visual Basic, consulte 317327  (http://support.microsoft.com/kb/317327/ ) .

Este artigo poderá conter hiperligações para conteúdo em inglês (ainda não traduzido).

Nesta página

Sumário

Este artigo passo a passo mostra como utilizar um receptor de eventos de transporte de SMTP para adicionar uma exclusão de responsabilidade a mensagens de correio electrónico SMTP a enviar.

Criar o receptor de eventos

Para criar um receptor de eventos, cole o seguinte código num ficheiro novo e guarde-o como EventSinkScript.vbs.
<SCRIPT LANGUAGE="VBScript">
Sub ISMTPOnArrival_OnArrival(ByVal Msg, EventStatus)
   TextDisclaimer = vbCrLf & "DISCLAIMER:" & vbCrLf & "Sample Disclaimer added in a VBScript."
   HTMLDisclaimer = "<p></p><p>DISCLAIMER:<br>Sample Disclaimer added in a VBScript."

   If Msg.HTMLBody <> "" Then
      'Search for the "</body>" tag and insert our disclaimer before that tag.
      pos = InStr(1, Msg.HTMLBody, "</body>", vbTextCompare)
      szPartI = Left(Msg.HTMLBody, pos - 1)
      szPartII = Right(Msg.HTMLBody, Len(Msg.HTMLBody) - (pos - 1))
      Msg.HTMLBody = szPartI + HTMLDisclaimer + szPartII
   End If

   If Msg.TextBody <> "" Then
      Msg.TextBody = Msg.TextBody & vbCrLf & TextDisclaimer & vbCrLf
   End If
    
   'Commit the content changes to the transport ADO Stream object.
   Msg.DataSource.Save ' Commit the changes into the transport Stream

   EventStatus = cdoRunNextSink
End Sub
</SCRIPT>

Registar o receptor de eventos

Para registar o receptor de eventos, utilize o ficheiro Smtpreg.vbs, instalado com o Exchange SDK. Numa linha de comandos, passe para pasta ...\Exchange SDK\SDK\Support\CDO\Scripts e escreva o seguinte (certifique-se de que o caminho de EventSinkScript.vbs está correcto):
cscript smtpreg.vbs /add 1 onarrival SMTPScriptingHost CDO.SS_SMTPOnArrivalSink "mail from=*@seu-domínio.com"
cscript smtpreg.vbs /setprop 1 onarrival SMTPScriptingHost Sink ScriptName "C:\EventSinkScript.vbs"
Se o comando tiver êxito, receberá uma mensagem de êxito gerada pelo script.

Para anular o registo deste evento, escreva o seguinte:
cscript smtpreg.vbs /remove 1 OnArrival SMTPScriptingHost
Para obter mais informações sobre como registar eventos com o Smtpreg.vbs, consulte o tópico "Managing Event Bindings" no seguinte Web site da MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/7406817f-b48f-4b62-86af-bd6703fca4f6.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/7406817f-b48f-4b62-86af-bd6703fca4f6.asp)
Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
324021  (http://support.microsoft.com/kb/324021/ ) How to create a "catchall" mailbox sink for Exchange 2000

Testar o receptor de eventos

Para testar o receptor, envie uma mensagem de correio electrónico para um destinatário SMTP externo à organização. O destinatário deverá receber uma mensagem modificada com o texto de exclusão de responsabilidade adicionado ao final da mensagem.

Nota: se utilizar um cliente MAPI, como o Microsoft Outlook, para enviar a mensagem de correio electrónico, o destinatário não recebe a mensagem modificada. Isto ocorre porque as mensagens submetidas através de MAPI não tem um formato de SMTP quando a mensagem de correio electrónico acciona o evento de transporte de SMTP. Assim, as alterações efectuadas pelo código do evento não são permanentes.

Referências

Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
273233  (http://support.microsoft.com/kb/273233/ ) You cannot modify MAPI messages that are trapped in an SMTP transport event sink

A informação contida neste artigo aplica-se a:
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Server Standard Edition
  • Collaboration Data Objects para Exchange 2000
  • Microsoft Collaboration Data Objects 2.0
Palavras-chave: 
kbhowtomaster KB317680
Partilhar
Opções de suporte adicionais
Fóruns de Suporte da Comunidade Microsoft
Contacte-nos directamente
Encontre um parceiro certificado Microsoft
Loja Microsoft