【问题标题】:ActiveSync SendMail command using 12.1 protocol使用 12.1 协议的 ActiveSync SendMail 命令
【发布时间】:2015-05-12 04:36:09
【问题描述】:

我收到错误代码 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,所以不确定我的请求有什么问题。

【问题讨论】:

    标签: office365 activesync


    【解决方案1】:

    对于 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>
    

    【讨论】:

      【解决方案2】:

      我终于解决了这个问题。这是由于在 mime 数据中。我们需要为我们传递的每个参数添加 \n(new line)。

      【讨论】:

      • 我也有同样的问题。 SendMail 命令响应状态为 102。你能在这里写下你的 xml 请求吗?
      【解决方案3】:

      WBXML 只能在协议版本 14.0/14.1 中使用。对于早期版本,消息的 MIME 表示应在 SendMail 请求的正文中发送(请参阅 [MS-ASCMD].pdf 中的第 2.2.2.16 节,链接:https://msdn.microsoft.com/en-us/library/dd299441.aspx)。

      【讨论】:

        猜你喜欢
        • 2015-04-10
        • 2013-09-03
        • 2015-03-16
        • 2014-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-04
        相关资源
        最近更新 更多