开发者

Creating Rule in exchange server 2003 using c#

I have been trying to create a rule which will move mail to a specific folder based on the mail-subject. I am trying to use c# to achieve this, but I am not able to get it to work?


Here is the code:

Const ACTION_MOVE = 1

Const CdoPR_SENSITIVITY = &H360003

Const SENSITIVITY_COMPANY_CONFIDENTIAL = 3

const REL_EQ = 7

Const PR_Transport_Headers = &H0037001E


Set objRules = CreateObject("MSExchange.Rules")

Set objRule = CreateObject("MSExchange.Rule")

Set objPropVal = CreateObject("MSExchange.PropertyValue")

Set objAction = CreateObject("MSExchange.Action")


servername = "testserver.abc.com"

mailboxname = "test@abc.com"

Set objSession = CreateObject("MAPI.Session")

objSession.Logon "test@abc.com","test123",true,true,true,true,servername & vbLF & mailboxname


Set objInbox = objSession.Inbox

Set CdoInfoStore1 = objSession.GetInfoStore

Set CdoFolderRoot = CdoInfoStore1.rootFolder

Set CdoFolders1 = CdoFolderRoot.Folders

bFound = False
Set CdoFolder1 = CdoFolders1.GetFirst

Do While (Not bFound) And Not (CdoFolder1 Is Nothing)

If CdoFolder1.Name = "Private Inbox" Then

bFound = True

Else

Set CdoFolder1 = CdoFolders1.GetNext

End If

Loop

Set ActionFolder = CdoFolder1

' Create P开发者_JAVA百科ropVal for messages marked company confidential

Set importPropVal = CreateObject("MSExchange.PropertyValue")

importPropVal.Tag = PR_Transport_Headers

importPropVal.Value = "***Test***"


' Create property condition for when the message is marked company confidential

Set Cond_sens = CreateObject("MSExchange.PropertyCondition")

Cond_sens.PropertyTag = PR_Transport_Headers

Cond_sens.Operator = REL_EQ

Cond_sens.Value = importPropVal

objRules.folder = objInbox

objAction.ActionType = ACTION_MOVE

objAction.Arg = ActionFolder

objRule.Name = "Test Rule"

objRule.Condition = Cond_sens

objRule.Actions.Add , objAction

objRules.Add , objRule

objRules.Update

objSession.Logoff
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜