FilterCollection object


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