2011-12-07 46 views
1

使用ItemOperations获取消息:ActiveSync获取命令。如何获取消息ID

如何获取特定于电子邮件的MessageID的标题?

我很困惑MSDN上的例子清楚地显示了电子邮件标题。 http://msdn.microsoft.com/en-us/library/ee220018%28v=EXCHG.80%29.aspx

我是否缺少一个额外的命令/字段/标志?

感谢, 帕特

环境 Exchange 2003的协议:12.1 ActiveSync的

IN:

<?xml version=\"1.0\" encoding=\"utf-8\"?> 
<ItemOperations xmlns:airsync=\"AirSync:\" xmlns:airsyncbase=\"AirSyncBase:\" xmlns=\"ItemOperations:\"> 
    <Fetch> 
    <Store>Mailbox</Store> 
    <airsync:CollectionId>6</airsync:CollectionId> 
    <airsync:ServerId>6:1</airsync:ServerId> 
    <Options> 
     <airsync:MIMESupport>1</airsync:MIMESupport> 
     <airsyncbase:BodyPreference>    
     <airsyncbase:Type>2</airsyncbase:Type> 
     <airsyncbase:TruncationSize>5120</airsyncbase:TruncationSize> 
     <airsyncbase:AllOrNone>0</airsyncbase:AllOrNone> 
     </airsyncbase:BodyPreference> 
    </Options> 
    </Fetch> 
</ItemOperations> 

OUTPUT:

XML响应:

<?xml version="1.0" encoding="utf-8"?> 
<itemoperations:ItemOperations xmlns:itemoperations="ItemOperations:"> 
    <itemoperations:Status>1</itemoperations:Status> 
    <itemoperations:Response> 
    <itemoperations:Fetch> 
     <itemoperations:Status>1</itemoperations:Status> 
     <airsync:CollectionId xmlns:airsync="AirSync:">6</airsync:CollectionId> 
     <airsync:ServerId xmlns:airsync="AirSync:">6:1</airsync:ServerId> 
     <airsync:Class xmlns:airsync="AirSync:">Email</airsync:Class> 
     <itemoperations:Properties> 
     <email:To xmlns:email="Email:">"pat2 pm. mol" &lt;[email protected]&g 
t;</email:To> 
     <email:From xmlns:email="Email:">"pat2 pm. mol" &lt;[email protected] 
&gt;</email:From> 
     <email:Subject xmlns:email="Email:">TESTMAIL</email:Subject> 
     <email:DateReceived xmlns:email="Email:">2011-12-06T15:22:24.613Z</email 
:DateReceived> 
     <email:DisplayTo xmlns:email="Email:">pat2 pm. mol</email:DisplayTo> 
     <email:ThreadTopic xmlns:email="Email:">TESTMAIL</email:ThreadTopic> 
     <email:Importance xmlns:email="Email:">1</email:Importance> 
     <email:Read xmlns:email="Email:">1</email:Read> 
     <airsyncbase:Body xmlns:airsyncbase="AirSyncBase:"> 
      <airsyncbase:Type>2</airsyncbase:Type> 
      <airsyncbase:EstimatedDataSize>1627</airsyncbase:EstimatedDataSize> 
      <airsyncbase:Data>&lt;html&gt; 
&lt;head&gt; 
&lt;style&gt; 
&lt;!-- 
@font-face 
     {font-family:"Cambria Math"} 
@font-face 
     {font-family:Calibri} 
p.MsoNormal, li.MsoNormal, div.MsoNormal 
     {margin:0cm; 
     margin-bottom:.0001pt; 
     font-size:11.0pt; 
     font-family:"Calibri","sans-serif"} 
a:link, span.MsoHyperlink 
     {color:blue; 
     text-decoration:underline} 
a:visited, span.MsoHyperlinkFollowed 
     {color:purple; 
     text-decoration:underline} 
span.EmailStyle17 
     {font-family:"Calibri","sans-serif"; 
     color:windowtext} 
.MsoChpDefault 
     {font-family:"Calibri","sans-serif"} 
@page WordSection1 
     {margin:72.0pt 72.0pt 72.0pt 72.0pt} 
div.WordSection1 
     {} 
--&gt; 
&lt;/style&gt; 
&lt;/head&gt; 
&lt;body lang="EN-US" link="blue" vlink="purple"&gt; 
&lt;div class="WordSection1"&gt; 
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt; 
&lt;/div&gt; 
&lt;/body&gt; 
&lt;/html&gt; 
</airsyncbase:Data> 
     </airsyncbase:Body> 
     <email:MessageClass xmlns:email="Email:">IPM.Note</email:MessageClass> 
     <email:InternetCPID xmlns:email="Email:">20127</email:InternetCPID> 
     <email:Flag xmlns:email="Email:" /> 
     <email:ContentClass xmlns:email="Email:">urn:content-classes:message</em 
ail:ContentClass> 
     <airsyncbase:NativeBodyType xmlns:airsyncbase="AirSyncBase:">2</airsyncb 
ase:NativeBodyType> 
     </itemoperations:Properties> 
    </itemoperations:Fetch> 
    </itemoperations:Response> 
</itemoperations:ItemOperations> 
+0

我面临同样的问题。你能找到解决方案吗? –

回答

1

您已设置airsyncbase:类型= 2,这给你一个HTML响应。

如果您想要完整的MIME响应,您需要设置Type = 4。这将有你需要的所有标题。

请参阅2.2.2.22 [MS-ASAIRS]的类型:Exchange ActiveSync:AirSyncBase命名空间协议,网址为http://msdn.microsoft.com/en-us/library/hh475675(v=exchg.80).aspx