Toon posts:

Disclaimer in Exchange 2003

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zou graag een disclaimer toevoegen aan de mails die via onze Exchange 2003 verzonden worden.
Hiervoor heb ik de volgende procedure toegepast:

1. Het EventSinkScript.vbs script van de website van microsoft gehaald en aangepast.

VBScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub ISMTPOnArrival_OnArrival(ByVal Msg, EventStatus)
   TextDisclaimer = vbCrLf & "DISCLAIMER:" & vbCrLf & "Deze e-mail en de eventuele toegevoegde bestanden kunnen informatie bevatten die vertrouwelijk is en/of wordt beschermd door intellectuele eigendomsrechten, en zijn enkel bestemd om te worden gebruikt door de bovenvermelde geadresseerde(n). Het gebruik van de inhoud ervan (met inbegrip van, maar niet beperkt tot de volledige of gedeeltelijke reproductie, mededeling of verspreiding ervan in gelijk welke vorm) door andere personen dan de aangeduide geadresseerde(n) is verboden. Hebt u deze e-mail per vergissing ontvangen, gelieve dan de afzender via telefoon of e-mail te verwittigen en het materiaal van alle computers te verwijderen. Bedankt voor uw medewerking."
   HTMLDisclaimer = "<p></p><p>DISCLAIMER:<br>Deze e-mail en de eventuele toegevoegde bestanden kunnen informatie bevatten die vertrouwelijk is en/of wordt beschermd door intellectuele eigendomsrechten, en zijn enkel bestemd om te worden gebruikt door de bovenvermelde geadresseerde(n). Het gebruik van de inhoud ervan (met inbegrip van, maar niet beperkt tot de volledige of gedeeltelijke reproductie, mededeling of verspreiding ervan in gelijk welke vorm) door andere personen dan de aangeduide geadresseerde(n) is verboden. Hebt u deze e-mail per vergissing ontvangen, gelieve dan de afzender via telefoon of e-mail te verwittigen en het materiaal van alle computers te verwijderen. Bedankt voor uw medewerking."

   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


2. Het mapje C:\disclaimer aangemaakt, en daar EventSinkScript.vbs en Smtpreg.vbs in geplaatst

3. De volgende commando's uitgevoerd:

code:
1
2
3
cscript Smtpreg.vbs /add 1 onarrival SMTPScriptingHost CDO.SS_SMTPOnArrivalSink "mail from=*@familiehulp.be"

cscript Smtpreg.vbs /setprop 1 onarrival SMTPScriptingHost Sink ScriptName "C:\disclaimer\EventSinkScript.vbs"


Hierbij kreeg ik dan de volgende output:
C:\disclaimer>cscript Smtpreg.vbs /add 1 onarrival SMTPScriptingHost CDO.SS_SMTP
OnArrivalSink "mail from=*@familiehulp.be"
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Binding Display Name Specified: SMTPScriptingHost
Assigning priority (24575 in 32767)
** SUCCESS **
Registered Binding:
Event Name :SMTP Transport OnSubmission
Display Name:SMTPScriptingHost
Binding GUID:{84614251-CE90-4283-816F-D8F4C6BFB227}
ProgID :CDO.SS_SMTPOnArrivalSink
Rule :mail from=*@familiehulp.be
Priority :24575 (0 - 32767, default: 24575)
ComCatID :{FF3CAA23-00B9-11d2-9DFB-00C04FA322BA}

C:\disclaimer>cscript Smtpreg.vbs /setprop 1 onarrival SMTPScriptingHost Sink Sc
riptName "C:\disclaimer\EventSinkScript.vbs"
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Binding Display Name Specified: SMTPScriptingHost
set property ScriptName to C:\disclaimer\EventSinkScript.vbs
Alles is dus zonder problemen gelukt, maar wanneer ik een mailtje stuur naar een extern adres dan krijg ik geen disclaimer te zien.

Verwijderd

Toevallig je mailbox op dezelfde server staan als waar je de eventsink hebt geregistreerd?
Note If you use a MAPI client such as Microsoft Outlook to send the e-mail and if the Exchange mailbox resides on the same server as the event sink binding, the recipient may not receive the modified message. This is because messages that are submitted by using MAPI are not in SMTP format when the e-mail triggers the SMTP transport event. Therefore, changes that are made by the event's code are not persisted.

Verwijderd

Topicstarter
Verwijderd schreef op dinsdag 27 april 2010 @ 11:11:
Toevallig je mailbox op dezelfde server staan als waar je de eventsink hebt geregistreerd?


[...]
Yep, op onze Exchange server...

EDIT: Wanneer ik het register op bijvoorbeeld onze Active Directory dan krijg ik de volgende output:
C:\disclaimer>cscript Smtpreg.vbs /add 1 onarrival SMTPScriptingHost CDO.SS_SMTP
OnArrivalSink "mail from=*@familiehulp.be"
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Binding Display Name Specified: SMTPScriptingHost
C:\disclaimer\Smtpreg.vbs(412, 9) Microsoft VBScript runtime error: Object requi
red: 'oSourceType'

[ Voor 51% gewijzigd door Verwijderd op 27-04-2010 11:19 ]