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