Como adicionar uma exclusão de responsabilidade a mensagens SMTP a enviar em script do Visual Basic

Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Para obter uma versão deste artigo referente ao Microsoft Visual Basic, consulte 317327.

Este artigo poderá conter hiperligações para conteúdo em inglês (ainda não traduzido).
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 = cdoRunNextSinkEnd 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: 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 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 You cannot modify MAPI messages that are trapped in an SMTP transport event sink
Propriedades

ID do Artigo: 317680 - Última Revisão: 12/07/2015 08:56:29 - Revisão: 9.3

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

  • kbnosurvey kbarchive kbhowtomaster KB317680
Comentários