Cómo agregar una renuncia a los mensajes SMTP de salida en Visual Basic

Seleccione idioma Seleccione idioma
Id. de artículo: 317327 - Ver los productos a los que se aplica este artículo
Para obtener una versión para Microsoft Visual Basic Scripting Edition de este artículo, consulte 317680.
Expandir todo | Contraer todo

En esta página

INTRODUCCIÓN

Este artículo paso a paso describe cómo utilizar un receptor de sucesos de transporte SMTP para agregar una renuncia a los mensajes de correo electrónico SMTP.

Crear el receptor de sucesos

  1. Cree una DLL ActiveX de Microsoft Visual Basic. Asigne el nombre SMTPEventSink al proyecto y, a continuación, llame al módulo Disclaimer.
  2. En Referencias del proyecto, agregue Microsoft CDO for Exchange 2000 Library y, a continuación, agregue Server Extension Objects COM Library.
  3. Ponga en el módulo el código siguiente:
     Dim TextDisclaimer As String Dim HTMLDisclaimer As String
    
    Implements IEventIsCacheable Implements CDO.ISMTPOnArrival
    
    Private Sub IEventIsCacheable_IsCacheable() 'Simplemente devuelve S_OK. End Sub
    
    Private Sub Class_Initialize() 'TODO: Reemplace el texto de la renuncia de ejemplo con el suyo propio. TextDisclaimer = vbCrLf & "RENUNCIA:" & vbCrLf & "Texto de la renuncia de ejemplo." HTMLDisclaimer = "<p></p><p>RENUNCIA:<br>Texto de la renuncia de ejemplo" 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
            
            'Buscar la etiqueta "</body>" e insertar la renuncia antes de la etiqueta. 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
        
        'Confirmar los cambios del contenido en el objeto ADO Stream de transporte. Msg.DataSource.Save EventStatus = cdoRunNextSink End Sub 
  4. Reemplace el texto de la renuncia de ejemplo con su propio texto y, a continuación, genere la DLL.

Registrar el receptor de sucesos

Para registrar el receptor de sucesos, utilice el archivo Smtpreg.vbs que se instala con el Kit de desarrollo de software (SDK) de Exchange.
  1. En el símbolo del sistema, busque la carpeta \Exchange SDK\SDK\Support\CDO\Scripts y, a continuación, escriba lo siguiente: cscript smtpreg.vbs /add 1 OnArrival SMTPDisclaimer SMTPEventSink.Disclaimer "mail from=*@aquí-va-su-dominio.com"

    Si este comando se ejecuta correctamente, aparecerá un mensaje de confirmación generado por la secuencia de comandos.
  2. Para eliminar este suceso del Registro, escriba lo siguiente: cscript smtpreg.vbs /remove 1 OnArrival SMTPDisclaimer
Para obtener información adicional sobre cómo administrar enlaces de sucesos, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/7406817f-b48f-4b62-86af-bd6703fca4f6.asp

Probar el receptor de sucesos

Para probar el receptor de sucesos, envíe un mensaje de correo electrónico a un destinatario SMTP externo a su organización. El destinatario recibe un mensaje modificado con el texto de la renuncia agregada al final del mensaje.

Nota: si utiliza un cliente MAPI, como Microsoft Outlook, para enviar el mensaje de correo electrónico, el destinatario no recibe un mensaje de correo electrónico modificado. Esto se debe a que el mensaje que se envía con MAPI no está en un formato SMTP cuando desencadena el suceso de transporte SMTP. Por consiguiente, los cambios realizados en el código del suceso no se conservan.

Referencias

Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
273233 No se pueden cambiar los contenidos del mensaje MAPI en un receptor de sucesos SMTP de CDO

Propiedades

Id. de artículo: 317327 - Última revisión: lunes, 26 de noviembre de 2007 - Versión: 8.2
La información de este artículo se refiere a:
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange 2000 Server Standard Edition
  • Collaboration Data Objects for Exchange 2000 6.0
  • Microsoft Collaboration Data Objects 2.0 sobre las siguientes plataformas
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows 2000 Standard Edition
Palabras clave: 
kbhowtomaster KB317327

Enviar comentarios

 

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