<?xml version=\"1.0\" encoding=\"utf-8\"?>
<SendMail xmlns=\"ComposeMail:\">
<ClientId>633724606026842453</ClientId>
<Mime>From: fakeuser@Contoso.com To: xxxx@gmail.com Cc: Bcc: Subject: From NSync MIME-Version: 1.0 Content-Type: text/plain; charset=\"iso-8859-1\" Content-Transfer-Encoding: 7bit X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3350 This is the body text.</Mime>
</SendMail>
内容类型:message / rfc822
请注意我没有将请求数据转换为base64。
回应:
Header : {
"Cache-Control" = private;
"Content-Length" = 1208;
"Content-Type" = "text/html";
Date = "Tue, 10 Mar 2015 16:13:51 GMT";
"MS-Server-ActiveSync" = "15.1";
Server = "Microsoft-IIS/8.0";
"X-AspNet-Version" = "4.0.30319";
"X-BEServer" = BY2PR06MB903;
"X-BackEndHttpStatus" = 500;
"X-CalculatedBETarget" = "BY2PR06MB903.namprd06.prod.outlook.com";
"X-DiagInfo" = BY2PR06MB903;
"X-FEServer" = SG2PR03CA0034;
"X-MS-BackOffDuration" = "L/-470";
"X-Powered-By" = "ASP.NET";
"request-id" = "54541d26-9bdb-41a4-b7e1-3fddcc4f4915"; }
回复代码:500
已更新
我尝试了14.1版本,因为我将mime文本转换为base64文本并将xml转换为wbxml。我已将内容类型设置为application / vnd.ms-sync.wbxml。现在我得到状态代码102,它表示无效的WBXML,所以不确定我的请求有什么问题。
答案 0 :(得分:0)
WBXML只能用于协议版本14.0 / 14.1。对于早期版本,消息的MIME表示应在SendMail请求的主体中发送(请参阅[MS-ASCMD] .pdf中的2.2.2.16部分,链接:https://msdn.microsoft.com/en-us/library/dd299441.aspx)。
答案 1 :(得分:0)
我终于解决了这个问题。这是由于在哑剧数据。我们需要为我们传递的每个参数添加\ n(新行)。
答案 2 :(得分:0)
对于ActiveSync 14.1(使用WBXML): 从MS文档中,Mime元素必须是不透明的BLOB https://msdn.microsoft.com/en-us/library/gg663453(v=exchg.80).aspx。 因此,您必须将Mime数据写为CDATA。
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<SendMail xmlns=\"ComposeMail:\">
<ClientId>633724606026842453</ClientId>
<Mime>
<![CDATA[From: xxx@xxx.com
To: xxx@xxx.com
Subject: Mail Subject
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Test body]]>
</Mime>
</SendMail>