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.
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.
The client constructs the request XML and sends it to the server.
<?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>
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".
The UpdateInboxRules request includes the following elements:
The Operations element contains the CreateRuleOperation element to create a rule.
The following Simple Object Access Protocol (SOAP) body example shows a successful response to the UpdateInboxRules request that creates a rule.
<?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>
The following elements are used in the response:
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.
The client constructs the request XML and sends it to the server.
<?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>
This example changes the display name to "(Modified) This is Junk".
Notă
The values of the Id and ChangeKey attributes of the FolderId element have been shortened for readability.
The UpdateInboxRules request includes the following elements:
The Operations element contains the SetRuleOperation element to modify a rule.
The following Simple Object Access Protocol (SOAP) body example shows a successful response to the UpdateInboxRules request that modifies a rule.
<?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>
The following elements are used in the response:
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.
The client constructs the request XML and sends it to the server.
<?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>
This example deletes the existing identified rule.
The UpdateInboxRules request includes the following elements:
The Operations element contains the DeleteRuleOperation element to delete a rule.
The following Simple Object Access Protocol (SOAP) body example shows a successful response to the UpdateInboxRules request that deletes a rule.
<?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>
The following elements are used in the response: