UpdateInboxRules operation
The UpdateInboxRules operation updates the authenticated user's Inbox rules by applying the specified operations. UpdateInboxRules is used to create an Inbox rule, to set an Inbox rule, or to delete an Inbox rule.
When you use the UpdateInboxRules operation, Exchange Web Services deletes client-side send rules. Client-side send rules are stored on the client in the rule Folder Associated Information (FAI) Message and nowhere else. EWS deletes this rule FAI message by default, based on the expectation that Outlook will recreate it. However, Outlook can't recreate rules that don't also exist as an extended rule, and client-side send rules don't exist as extended rules. As a result, these rules are lost. We suggest you consider this when designing your solution.
UpdateInboxRules (Create Rule) request example
You can use Exchange Web Services to create an Inbox rule in a user's mailbox in the Exchange store. Use the UpdateInboxRules element in conjunction with the CreateRuleOperation element to create a rule.
Description
The client constructs the request XML and sends it to the server.
Code
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
<soap:Header>
<t:RequestServerVersion Version ="Exchange2010_SP1"/>
</soap:Header>
<soap:Body>
<m:UpdateInboxRules>
<m:RemoveOutlookRuleBlob>true</m:RemoveOutlookRuleBlob>
<m:Operations>
<t:CreateRuleOperation>
<t:Rule>
<t:DisplayName>MoveInterestingToJunk</t:DisplayName>
<t:Priority>1</t:Priority>
<t:IsEnabled>true</t:IsEnabled>
<t:Conditions>
<t:ContainsSubjectStrings>
<t:String>Interesting</t:String>
</t:ContainsSubjectStrings>
</t:Conditions>
<t:Exceptions />
<t:Actions>
<t:MoveToFolder>
<t:DistinguishedFolderId Id="junkemail" />
</t:MoveToFolder>
</t:Actions>
</t:Rule>
</t:CreateRuleOperation>
</m:Operations>
</m:UpdateInboxRules>
</soap:Body>
</soap:Envelope>
Comments
This example builds a rule that will move an e-mail message to the Junk E-mail folder if the e-mail subject contains a string that equals "Interesting".
Request elements
The UpdateInboxRules request includes the following elements:
The Operations element contains the CreateRuleOperation element to create a rule.
UpdateInboxRules (Create Rule) response example
Description
The following Simple Object Access Protocol (SOAP) body example shows a successful response to the UpdateInboxRules request that creates a rule.
Code
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="14"
MinorVersion="1"
MajorBuildNumber="139"
MinorBuildNumber="0" Version="Exchange2010_SP1"
xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<UpdateInboxRulesResponse
ResponseClass="Success" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<ResponseCode>NoError</ResponseCode>
</UpdateInboxRulesResponse>
</s:Body>
</s:Envelope>
Successful response elements
The following elements are used in the response:
UpdateInboxRules (Set Rule) request example
You can use Exchange Web Services to modify an Inbox rule in a user's mailbox in the Exchange store. Use the UpdateInboxRules element in conjunction with the SetRuleOperation element to modify a rule.
Description
The client constructs the request XML and sends it to the server.
Code
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
<soap:Header>
<t:RequestServerVersion Version ="Exchange2010_SP1"/>
</soap:Header>
<soap:Body>
<m:UpdateInboxRules>
<m:RemoveOutlookRuleBlob>true</m:RemoveOutlookRuleBlob>
<Operations xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<SetRuleOperation xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
<Rule>
<RuleId>Nh8AAAAwW/w=</RuleId>
<DisplayName>(Modified) This is Junk</DisplayName>
<Priority>1</Priority>
<IsEnabled>true</IsEnabled>
<Conditions>
<ContainsSubjectStrings>
<String>Interesting</String>
</ContainsSubjectStrings>
</Conditions>
<Actions>
<MoveToFolder>
<FolderId Id="AAMkADQ1YTE1" ChangeKey="AQAAAA==" />
</MoveToFolder>
</Actions>
</Rule>
</SetRuleOperation>
</Operations>
</m:UpdateInboxRules>
</soap:Body>
</soap:Envelope>
Comments
This example changes the display name to "(Modified) This is Junk".
Note
The values of the Id and ChangeKey attributes of the FolderId element have been shortened for readability.
Request elements
The UpdateInboxRules request includes the following elements:
The Operations element contains the SetRuleOperation element to modify a rule.
UpdateInboxRules (Set Rule) response example
Description
The following Simple Object Access Protocol (SOAP) body example shows a successful response to the UpdateInboxRules request that modifies a rule.
Code
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="14"
MinorVersion="1"
MajorBuildNumber="139"
MinorBuildNumber="0"
Version="Exchange2010_SP1"
xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<UpdateInboxRulesResponse
ResponseClass="Success" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<ResponseCode>NoError</ResponseCode>
</UpdateInboxRulesResponse>
</s:Body>
</s:Envelope>
Successful response elements
The following elements are used in the response:
UpdateInboxRules (Delete Rule) request example
You can use Exchange Web Services to delete an Inbox rule in a user's mailbox in the Exchange store. Use the UpdateInboxRules in conjunction with the DeleteRuleOperation element to delete a rule.
Description
The client constructs the request XML and sends it to the server.
Code
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
<soap:Header>
<t:RequestServerVersion Version ="Exchange2010_SP1"/>
</soap:Header>
<soap:Body>
<m:UpdateInboxRules>
<m:RemoveOutlookRuleBlob>true</m:RemoveOutlookRuleBlob>
<m:Operations>
<t:DeleteRuleOperation>
<t:RuleId>Nh8AAAAwW/U=</t:RuleId>
</t:DeleteRuleOperation>
</m:Operations>
</m:UpdateInboxRules>
</soap:Body>
</soap:Envelope>
Comments
This example deletes the existing identified rule.
Request elements
The UpdateInboxRules request includes the following elements:
The Operations element contains the DeleteRuleOperation element to delete a rule.
UpdateInboxRules (Delete Rule) response example
Description
The following Simple Object Access Protocol (SOAP) body example shows a successful response to the UpdateInboxRules request that deletes a rule.
Code
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="14"
MinorVersion="1"
MajorBuildNumber="139"
MinorBuildNumber="0"
Version="Exchange2010_SP1"
xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<UpdateInboxRulesResponse ResponseClass="Success" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<ResponseCode>NoError</ResponseCode>
</UpdateInboxRulesResponse>
</s:Body>
</s:Envelope>
Successful response elements
The following elements are used in the response: