Você está offline; aguardando reconexão

Como adicionar um aviso de isenção para as mensagens SMTP de saída no script do Visual Basic

Este artigo foi publicado anteriormente em BR317680
Para obter uma versão deste artigo para o Microsoft Visual Basic, consulte 317327.
Sumário
Este artigo descreve detalhadamente como usar um coletor de eventos de transporte SMTP para adicionar um aviso de isenção aos emails SMTP de saída.

Criar o coletor de eventos

Para criar um coletor de eventos, cole o seguinte código em um novo arquivo e salve-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 = cdoRunNextSinkEnd Sub</SCRIPT>

Registrar o coletor de eventos

Para registrar seu coletor de eventos, use o arquivo Smtpreg.vbs, instalado com o Exchange SDK. A partir de um prompt de comando, procure pela pasta "...\Exchange SDK\SDK\Support\CDO\Scripts" e digite o seguinte (certifique-se que o caminho para EventSinkScript.vbs esteja correto):
cscript smtpreg.vbs /add 1 onarrival SMTPScriptingHost CDO.SS_SMTPOnArrivalSink "mail from=*@your-domain-here.com"
cscript smtpreg.vbs /setprop 1 onarrival SMTPScriptingHost Sink ScriptName "C:\EventSinkScript.vbs"
Se o comando tiver êxito, uma mensagem de êxito será exibida pelo script.

Para desfazer o registro desse evento, digite o seguinte:
cscript smtpreg.vbs /remove 1 OnArrival SMTPScriptingHost
Para obter informações adicionais sobre como registrar eventos com o Smtpreg.vbs, consulte o tópico "Gerenciando vínculos de eventos" no seguinte site MSDN (em inglês): Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft:
324021 Como criar um coletor de caixa postal "coleta tudo" para o Exchange 2000

Testar o coletor de eventos

Para testar seu coletor, envie um email para um destinatário SMTP externo à sua organização. O destinatário deve receber uma mensagem modificada com a declaração adicionada no final da mensagem.

Observação Se você usa um cliente MAPI como o Microsoft Outlook para enviar o e-mail, o destinatário pode não receber a mensagem modificada. Isto porque mensagens submetida usando MAPI não estão no formato SMTP quando o e-mail dispara o evento de transporte de SMTP. Então, as alterações feitas pelo código do evento não são persistentes.
Referências
Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft:
273233 Não é possível modificar as mensagens MAPI interceptadas em um coletor de eventos de transporte SMTP
Propriedades

ID do Artigo: 317680 - Última Revisão: 11/26/2007 01:51:00 - Revisão: 9.1

  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Server Standard Edition
  • Collaboration Data Objects for Exchange 2000 6.0
  • Microsoft Collaboration Data Objects 2.0
  • kbhowtomaster KB317680
Comentários
ript>