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

Traduzione articoli Traduzione articoli
Identificativo articolo: 317327 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

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.

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 String
    Dim HTMLDisclaimer As String
    
    Implements IEventIsCacheable
    Implements CDO.ISMTPOnArrival
    
    Private Sub IEventIsCacheable_IsCacheable()
        'Just returns S_OK.
    End Sub
    
    Private 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 Sub
    
    Private 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 = cdoRunNextSink
    End 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):
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/_cdosys_managing_event_bindings.asp

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.

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

ProprietÓ

Identificativo articolo: 317327 - Ultima modifica: mercoledý 24 agosto 2005 - Revisione: 3.1
Le informazioni in questo articolo si applicano a
  • Microsoft Exchange Server 2000 Service Pack 1alle seguenti piattaforme
    • Microsoft Windows 2000 Service Pack 1
    • Microsoft Windows 2000 Service Pack 2
    • Microsoft Windows 2000 Service Pack 3
  • Microsoft Exchange 2000 Server Service Pack 2alle seguenti piattaforme
    • Microsoft Windows 2000 Service Pack 1
    • Microsoft Windows 2000 Service Pack 2
    • Microsoft Windows 2000 Service Pack 3
  • Collaboration Data Objects for Exchange 2000
  • Microsoft Collaboration Data Objects 2.0
Chiavi:á
kbhowto kbhowtomaster KB317327
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com