Al momento sei offline in attesa che la connessione Internet venga ristabilita

HOW TO: Aggiungere una dichiarazione di non responsabilità nei messaggi SMTP in uscita in Visual Basic

Per la versione di questo articolo relativa a Microsoft Visual Basic Script vedere: 317680 (il contenuto potrebbe essere in inglese).

CONTENUTO DELL'ATTIVITÀ

Sommario
In questo articolo viene illustrato come utilizzare un evento sink di trasporto SMTP per aggiungere una dichiarazione di non responsabilità ai messaggi di posta elettronica SMTP in uscita.

Torna all'inizio

Creazione dell'evento sink

  1. Creare una nuova DLL ActiveX in Microsoft Visual Basic. Denominare il progetto SMTPEventSink e assegnare al modulo il nome Disclaimer.
  2. Nei riferimenti del progetto aggiungere Microsoft CDO for Exchange 2000 Library e Server Extension Objects COM Library.
  3. Incollare il codice seguente nel modulo:
    Dim TextDisclaimer As StringDim HTMLDisclaimer As StringImplements IEventIsCacheableImplements CDO.ISMTPOnArrivalPrivate Sub IEventIsCacheable_IsCacheable()    'Just returns S_OK.End SubPrivate Sub Class_Initialize()  'TODO: Replace the sample disclaimer text with your own text.  TextDisclaimer = vbCrLf & "DISCLAIMER:" & vbCrLf & "Sample Discliamer Text."  HTMLDisclaimer = "<p></p><p>DISCLAIMER:<br>Sample Disclaimer Text"End SubPrivate Sub ISMTPOnArrival_OnArrival(ByVal Msg As CDO.IMessage, EventStatus As CDO.CdoEventStatus)    If Msg.HTMLBody <> "" Then        Dim szPartI As String        Dim szPartII As String        Dim pos As Integer                'Search for the "</body>" tag and insert our discliamer 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                Msg.TextBody = Msg.TextBody & vbCrLf & TextDisclaimer & vbCrLf    Else        Msg.TextBody = Msg.TextBody & vbCrLf & TextDisclaimer & vbCrLf    End If        'Commit the content changes to the transport ADO Stream object.    Msg.DataSource.Save    EventStatus = cdoRunNextSinkEnd Sub
  4. Sostituire il testo di esempio della dichiarazione di non responsabilità con il proprio testo e generare la DLL.

Registrazione dell'evento sink

Per registrare l'evento sink, utilizzare il file Smtpreg.vbs, installato con l'SDK di Exchange. Da un prompt dei comandi passare alla cartella "...\Exchange SDK\SDK\Support\CDO\Scripts" e digitare quanto segue:
cscript smtpreg.vbs /add 1 OnArrival SMTPDisclaimer SMTPEventSink.Disclaimer "mail from=*@nomedominio.com"
Se il comando viene eseguito, si riceverà un messaggio di conferma generato dallo script.

Per annullare la registrazione dell'evento, digitare quanto segue:
cscript smtpreg.vbs /remove 1 OnArrival SMTPDisclaimer
Per ulteriori informazioni sulla registrazioni di eventi con Smtpreg.vbs, vedere l'argomento "Managing Event Bindings" nel seguente sito Web MSDN (informazioni in lingua inglese): Torna all'inizio

Verifica dell'evento sink

Per verificare il sink, inviare un messaggio di posta elettronica a un destinatario SMTP esterno alla propria organizzazione. Il destinatario dovrebbe ricevere un messaggio a cui è stata aggiunta una dichiarazione di non responsabilità.

NOTA: se per inviare il messaggio si utilizza un client MAPI come Microsoft Outlook, il destinatario non riceverà il messaggio modificato. Ciò avviene perché i messaggi inviati mediante MAPI non sono in formato SMTP quando il messaggio di posta elettronica genera l'evento di trasporto SMTP. Per tale motivo le modifiche apportate dal codice dell'evento non vengono conservate.

Torna all'inizio
Riferimenti
Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito (il contenuto potrebbe essere in inglese):
273233 PRB: CDOEX: Impossibile modificare i contenuti dei messaggi MAPI in un evento sink SMTP CDO
Torna all'inizio
Proprietà

ID articolo: 317327 - Ultima revisione: 08/24/2005 21:42:32 - Revisione: 3.1

  • Microsoft Exchange Server 2000 Service Pack 1
  • Microsoft Exchange 2000 Server Service Pack 2
  • Collaboration Data Objects for Exchange 2000
  • Microsoft Collaboration Data Objects 2.0
  • kbhowto kbhowtomaster KB317327
Feedback