howto:send a mail, subject=db_name, body=table_name, get que

发表于:2007-06-30来源:作者:点击数: 标签:
no error handle, no optimize, just demo test... paste this to your exchange event script ========================================================= SCRIPT RunAt=Server Language= VB Script Option Explicit @# Event Handlers @#-----------------
no error handle, no optimize, just demo test...
paste this to your exchange event script
=========================================================
<SCRIPT RunAt=Server Language=VBScript>


Option Explicit


@# Event Handlers
@#---------------------------------------------------------------------
@# DESCRIPTION: This event is fired when a new message is added to the folder

Public Sub Folder_OnMessageCreated

    On Error Resume Next

    Dim AMSession
    Dim fldrOutbox
    Dim msgTarget
    Dim fldrTarget

    Dim oStores
    Dim Temp
    Dim idTargetFolder
    Dim idTargetMessage
    Dim msgResponse

    idTargetFolder = EventDetails.FolderID
    idTargetMessage = EventDetails.MessageID

    Set AMSession = EventDetails.Session
    Set fldrOutbox = AMSession.Outbox

    Set fldrTarget = AMSession.GetFolder( idTargetFolder, Null )
    Set msgTarget = AMSession.GetMessage( idTargetMessage, Null )
@# =========================================================================

    Dim oConn
    Dim oRs
    Dim Index
    dim strDBResult
    dim dbcnstr
                
    Set oConn = CreateObject("ADODB.Connection")

     dbcnstr = "driver={SQL Server};server=sqlserver;database=" & msgTarget.subject & ";uid=sa;pwd="

    oConn.Open dbcnstr

    Set oRs = oConn.Execute("SELECT * From " & msgTarget.text)
    
    Do while (Not oRs.eof)
        For Index=0 to (oRs.fields.count-1)
            strDBResult = strDBResult & "   |   " & chr(9) & oRs(Index)
        Next
        strDBResult = strDBResult & chr(13)
    oRs.MoveNext
    Loop

    oRs.close
    oConn.close

@# =========================================================================    
    Set msgResponse = fldrOutbox.Messages.Add( "Query Result for database:" & msgTarget.subject & ";table:" & msgTarget.text, strDBResult)
    msgResponse.Recipients.Add "", "", 1, msgTarget.Sender.ID
    msgResponse.Recipients.Resolve(False)
    msgResponse.Send
    
End Sub

@# DESCRIPTION: This event is fired when a message in the folder is changed
Public Sub Message_OnChange
    On Error Resume Next

End Sub

@# DESCRIPTION: This event is fired when a message is deleted from the folder
Public Sub Folder_OnMessageDeleted
    On Error Resume Next

End Sub

@# DESCRIPTION: This event is fired when the timer on the folder expires
Public Sub Folder_OnTimer
    On Error Resume Next

End Sub

</SCRIPT>

原文转自:http://www.ltesting.net