使用12.1协议的ActiveSync SendMail命令

时间:2015-03-10 16:17:24

标签: office365 activesync

我收到错误代码500.以下是https://outlook.office365.com/Microsoft-Server-ActiveSync?cmd=SendMail&User=username@domain.com&DeviceId=A6B9A5DB2E334477B48832011B55F06E&DeviceType=mobile

的请求
<?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,所以不确定我的请求有什么问题。

3 个答案:

答案 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>