Methods
Update | Update filter settings. |
Remove | Remove filter. |
Up | Raise the priority of specified filter. |
Down | Drop the priority of specified filter. |
Properties
Count | Filters count. |
Items | Get/Set specified MailFilter object. |
Remarks
FilterCollection object is a collection made up of MailFilter objects. It can be used to manage domain/user customized rules in EAS. FilterCollection object inherited from Domain object can only be accessed by domain administrator.
Usage Example
Function fnGetRules( Byref oFilter ) Dim i, nCount, s, name, actionType arCondition = Array( "From Header", "To/Cc Header", "Subject", "Headers", "Body Text", "Attachment Name", "Message Body" ) arNames = Array( "from", "to", "subject", "headers", "bodytext", "attachments", "messagebody" ) s = "If ... " & Chr(13) & Chr(10) & Chr(13) & Chr(10) nCount = UBound(arNames) For i = LBound(arNames) To nCount name = arNames(i) If oFilter.GetItem( name ) <> "" Then s = s & " " & arCondition(i) & " " & oFilter.GetItem( name ) & _ ": " & oFilter.GetItem( name & ":content" ) & _ Chr(13) & Chr(10) End If Next s = s & Chr(13) & Chr(10) s = s & "Then ... " & Chr(13) & Chr(10) & Chr(13) & Chr(10) s = s & " " actionType = oFilter.GetItem("actionType") If actionType = "move" Then s = s & "Move message to folder: " & oFilter.GetItem("actionType:content") ElseIf actionType = "cc" Then s = s & "Send a copy of message to: " & oFilter.GetItem("actionType:content") ElseIf actionType = "forward" Then s = s & "Forward message to: " & oFilter.GetItem("actionType:content") ElseIf actionType = "bounce" Then s = s & "Bounce message" ElseIf actionType = "delete" Then s = s & "Delete message" Else s = s & "End to call next rules" End If fnGetRules = s End Function Dim server, user, password, requestAddr server = "localhost" user = "hunter@emailarchitect.net" password = "mypassword" requestAddr = "192.168.0.1" Dim oSvr Set oSvr = CreateObject("EmailArchitectObjects.ServerRoot") r = oSvr.Connect( server, user, password, 0, requestAddr ) If r <> 0 Then WScript.Echo( "connect server failed!" ) WScript.Quit End If Dim oDomains, oDomain Set oDomains = oSvr.DomainCollection Set oDomain = oDomains.Items(CStr(oSvr.Domain)) Dim oUsers, oUser Set oUsers = oDomain.UserCollection Set oUser = oUsers.Items(CStr(oSvr.User)) Dim oFilters, oFilter Set oFilters = oUser.FilterCollection 'enumerate all filters of user Dim i, nCount nCount = oFilters.Count For i = 0 To nCount-1 Set oFilter = oFilters.Items(CLng(i)) WScript.Echo( fnGetRules( oFilter )) Next