RDORuleAction object

 

RDORuleAction object represents an action that is run when the parent rule (RDORule object) is executed.

 

Returned by:

RDORuleActions.AssignToCategory, RDORuleActions.Bounce, RDORuleActions.CopyToFolder, RDORuleActions.Defer, RDORuleActions.Delete, RDORuleActions.DeletePermanently, RDORuleActions.Forward, RDORuleActions.ForwardAsAttachment, RDORuleActions.Importance, RDORuleActions.MarkAsRead, RDORuleActions.MoveToFolder, RDORuleActions.Redirect, RDORuleActions.Reply, RDORuleActions.Sensitivity, RDORuleActions.Tag

 

The following objects are derived from RDORuleAction to represent specific actions that expose additional properties besides ActionType and Enabled.

 

RDORuleActionMoveOrCopy

RDORuleActionSend

RDORuleActionTemplate

RDORuleActionAssignToCategory

RDORuleActionImportance

RDORuleActionSensitivity

RDORuleActionDefer

RDORuleActionBounce

RDORuleActionTag

 

 

The example below creates a rule that sets the message importance to High if the incoming message has the "x-test-header" MIME header

'Constant definitions, don't need these if Redemption is added to the project references.
RES_CONTENT = 3
FL_SUBSTRING = 1
FL_IGNORECASE = &H10000
PR_TRANSPORT_MESSAGE_HEADERS = &H007D001E

 

'create the rule

set Session = CreateObject("Redemption.RDOSession")
Session.Logon
set Rules = Session.Stores.DefaultStore.Rules
set Rule = Rules.Create("Test delete")
set Rule = Rules.Create("Test Importance")

 

'set the action
set Action = Rule.Actions.Importance
Action.Importance = olImportanceHigh
Action.Enabled = true

 

'set the restriction on message headers

set Restriction = Rule.SetRawConditionsKind(RES_CONTENT)
Restriction.ulFuzzyLevel = FL_SUBSTRING or FL_IGNORECASE
Restriction.ulPropTag = PR_TRANSPORT_MESSAGE_HEADERS
Restriction.lpProp = "x-test-header"

 

'enable and save the rule
Rule.Enabled = true
Rule.Save

 

 


Derived from: IDispatch


Properties


ActionFlavor

integer, read/write. Provides direct access to the Action.ulActionFlavor MAPI structure member. 

 

 

ActionType

Returns the action type, read-only.

 

Can be one of the following rdoRuleActionType enums:

olRuleActionUnknown = 0
olRuleActionMoveToFolder = 1
olRuleActionAssignToCategory = 2
olRuleActionDelete = 3
olRuleActionDeletePermanently = 4
olRuleActionCopyToFolder = 5
olRuleActionForward = 6
olRuleActionForwardAsAttachment = 7
olRuleActionServerReply = 9
olRuleActionImportance = 15
olRuleActionSensitivity = 16
olRuleActionRedirect = 8
olRuleActionMarkRead =19
olRuleActionDefer = 28
olRuleActionBounce = 1024
olRuleActionTag = 1025

 

 

Enabled

Boolean, read/write. Enables or disables the action.

 

 

Flags

integer, read/write. Provides direct access to the Action.ulFlags MAPI structure member.

 

 

 

 

RDORuleActionMoveOrCopy object

 

RDORuleActionMoveOrCopy object represents an action that copies or moves the message when the parent rule (RDORule object) is executed.

RDORuleActionMoveOrCopy is derived from the RDORuleAction object and inherits its properties ActionType and Enabled.

 

Returned by:

RDORuleActions.CopyToFolder, RDORuleActions.MoveToFolder

 


Derived from: RDORuleAction

properties derived from RDORuleAction:

ActionType

Enabled


Properties


Folder

Returns or sets the folder (RDOFolder object)

set Session = CreateObject("Redemption.RDOSession")
Session.Logon
set Store = Session.Stores.GetSharedMailbox("natalia")
set Inbox = Store.GetDefaultFolder(olFolderInbox)
on error resume next
err.clear
set SubFolder = Inbox.Folders("Test Subfolder")
if (err.Number <> 0) or (SubFolder Is Nothing) Then
  set SubFolder = Inbox.Folders.Add("Test Subfolder")
End If
set Rules = Store.Rules
set Rule = Rules.Create("Test copy to folder")
set Action = Rule.Actions.CopyToFolder
Action.Folder = SubFolder
Action.Enabled = true
Rule.Enabled = true
Rule.Save

 

 

 

 

RDORuleActionSend object

 

RDORuleActionSend object represents an action that sends a message to the specified recipient when the parent rule (RDORule object) is executed.

RDORuleActionSend is derived from the RDORuleAction object and inherits its properties ActionType and Enabled.

 

Returned by:

RDORuleActions.Forward, RDORuleActions.ForwardAsAttachment, RDORuleActions.Redirect

 


Derived from: RDORuleAction

properties derived from RDORuleAction:

ActionType

Enabled


Properties


Recipients

Returns the list of recipient (RDORecipients) to whom the message will be sent when the rule action is executed.

set Session = CreateObject("Redemption.RDOSession")
Session.Logon
set Store = Session.Stores.GetSharedMailbox("natalia")
set Inbox = Store.GetDefaultFolder(olFolderInbox)
set Rules = Store.Rules
set Rule = Rules.Create("Test forward")
set Action = Rule.Actions.Forward
set Recip = Action.Recipients.Add("dmitry")
Recip.Resolve
Action.Enabled = true
Rule.Enabled = true
Rule.Save

 

 

 

RDORuleActionTemplate object

 

RDORuleActionTemplate object represents an action that sends a reply using the specified template when the parent rule (RDORule object) is executed.

RDORuleActionTemplate is derived from the RDORuleAction object and inherits its properties ActionType and Enabled.

 

Returned by:

RDORuleActions.Reply

 


Derived from: RDORuleAction

properties derived from RDORuleAction:

ActionType

Enabled


Properties


TemplateMessage

Returns or sets the message (RDOMail) to be used as a template when the action is executed

set Session = CreateObject("Redemption.RDOSession")
Session.Logon
set Store = Session.Stores.GetSharedMailbox("natalia")
set Inbox = Store.GetDefaultFolder(olFolderInbox)
set TemplateMessage = Inbox.HiddenItems.Add
TemplateMessage.Subject = "This is an automated reply"
TemplateMessage.Body = "Automated reply body"
TemplateMessage.MessageClass = "IPM.Note.Rules.ReplyTemplate.Microsoft" 'required!
TemplateMessage.Save
set Rules = Store.Rules
set Rule = Rules.Create("Test Reply")
set Action = Rule.Actions.Reply
Action.TemplateMessage = TemplateMessage
Action.Enabled = true
Rule.Enabled = true
Rule.Save

 

 

 

RDORuleActionAssignToCategory object

 

RDORuleActionAssignToCategory object represents an action that assigns the specified category or categories to a message when the parent rule (RDORule object) is executed.

RDORuleActionAssignToCategory is derived from the RDORuleAction object and inherits its properties ActionType and Enabled.

 

Returned by:

RDORuleActions.AssignToCategory

 


Derived from: RDORuleAction

properties derived from RDORuleAction:

ActionType

Enabled


Properties


Categories

String, read/write.

Returns or sets the category or categories assigned to a message when the action is executed.

Separate multiple categories with ";" if multiple categories must be used.

set Session = CreateObject("Redemption.RDOSession")
Session.Logon
set Store = Session.Stores.GetSharedMailbox("natalia")
set Inbox = Store.GetDefaultFolder(olFolderInbox)
set Rules = Store.Rules
set Rule = Rules.Create("Test category")
set Action = Rule.Actions.AssignToCategory
Action.Categories = "Auto Category;Redemption"
Action.Enabled = true
Rule.Enabled = true
Rule.Save

 

 

 

RDORuleActionImportance object

 

RDORuleActionImportance object represents an action that assigns the specified importance to a message when the parent rule (RDORule object) is executed.

RDORuleActionImportance is derived from the RDORuleAction object and inherits its properties ActionType and Enabled.

 

Returned by:

RDORuleActions.Importance

 


Derived from: RDORuleAction

properties derived from RDORuleAction:

ActionType

Enabled


Properties


Importance

rdoImportance, read/write.

Returns or sets the importance assigned to a message when the action is executed.

Can be one of the following rdoImportance enums:

 

olImportanceLow = 0
olImportanceNormal = 1
olImportanceHigh = 2

set Session = CreateObject("Redemption.RDOSession")
Session.Logon
set Rules = Session.Stores.DefaultStore.Rules
set Rule = Rules.Create("Test delete")
set Rule = Rules.Create("Test Importance")
set Action = Rule.Actions.Importance
Action.Importance = olImportanceHigh
Action.Enabled = true
Rule.Enabled = true
Rule.Save

 

 

 

RDORuleActionSensitivity object

 

RDORuleActionSensitivity object represents an action that assigns the specified sensitivity to a message when the parent rule (RDORule object) is executed.

RDORuleActionSensitivity is derived from the RDORuleAction object and inherits its properties ActionType and Enabled.

 

Returned by:

RDORuleActions.Sensitivity

 


Derived from: RDORuleAction

properties derived from RDORuleAction:

ActionType

Enabled


Properties


Sensitivity

rdoSensitivity, read/write.

Returns or sets the sensitivity assigned to a message when the action is executed.

Can be one of the following rdoSensitivity enums:

 

olNormal = 0
olPersonal = 1
olPrivate =2
olConfidential = 3

set Session = CreateObject("Redemption.RDOSession")
Session.Logon
set Store = Session.Stores.GetSharedMailbox("natalia")
set Rules = Store.Rules
set Rule = Rules.Create("Test Sensitivity")
set Action = Rule.Actions.Sensitivity
Action.Sensitivity = olConfidential
Action.Enabled = true
Rule.Enabled = true
Rule.Save

 

 

 

RDORuleActionDefer object

 

RDORuleActionDefer object represents an action that creates a deferred action message to be processed later by a client side rule when the parent rule (RDORule object) is executed.

RDORuleActionDefer is derived from the RDORuleAction object and inherits its properties ActionType and Enabled.

 

Returned by:

RDORuleActions.Defer

 


Derived from: RDORuleAction

properties derived from RDORuleAction:

ActionType

Enabled


Properties


Data

String, read/write.

Returns or sets the data to be set on the deferred action message created when the parent rule is executed.

Data must be a string representing the binary data in hex, i.e. each byte of the data is represented by 2 hex characters.

set Session = CreateObject("Redemption.RDOSession")
Session.Logon
set Rules = Session.Stores.DefaultStore.Rules
set Rule = Rules.Create("Test Deferred Action")
set Action = Rule.Actions.Defer
Action.Data = "0000BAD1" ''string representing hex data
Action.Enabled = true
Rule.Enabled = true
Rule.Save

 

 

 

RDORuleActionBounce object

 

RDORuleActionBounce object represents an action that bounces (creates a bounce message) when the parent rule (RDORule object) is executed.

RDORuleActionBounce is derived from the RDORuleAction object and inherits its properties ActionType and Enabled.

 

Returned by:

RDORuleActions.Bounce

 


Derived from: RDORuleAction

properties derived from RDORuleAction:

ActionType

Enabled


Properties


BounceCode

rdoBounceCode, read/write.

Returns or sets the bounce code.

 

Can be one of the rdoBounceCode enums:

bcMessageSizeTooLarge = 13
bcFormsMismatch =31
bcAccessDenied = 38

set Session = CreateObject("Redemption.RDOSession")
Session.Logon
set Rules = Session.Stores.DefaultStore.Rules
set Rule = Rules.Create("Test Bounce")
set Action = Rule.Actions.Bounce
Action.BounceCode = &H26 'bcAccessDenied
Action.Enabled = true
Rule.Enabled = true
Rule.Save

 

 

 

RDORuleActionTag object

 

RDORuleActionTag object represents an action that tags (set the specified property to the specified value) when the parent rule (RDORule object) is executed.

RDORuleActionTag is derived from the RDORuleAction object and inherits its properties ActionType and Enabled.

 

Returned by:

RDORuleActions.Tag

 


Derived from: RDORuleAction

properties derived from RDORuleAction:

ActionType

Enabled


Properties


PropTag

Integer, read/write.

Property tag to be set, such as PR_SUBJECT (= 0x0037001E).
 

 

Value

Variant, read/write.

The value of the property to be set.

The Value type must match the property type. E.g. for the PR_SUBJECT (property type is PT_STRING8), Value must be string.

set Session = CreateObject("Redemption.RDOSession")
Session.Logon
set Store = Session.Stores.GetSharedMailbox("natalia")
set Inbox = Store.GetDefaultFolder(olFolderInbox)
set Rules = Store.Rules
set Rule = Rules.Create("Test Tag")
set Action = Rule.Actions.Tag
Action.PropTag = &H001A001E 'PR_MESSAGE_CLASS
Action.Value = "IPM.Note.Special"
Action.Enabled = true
Rule.Enabled = true
Rule.Save