【问题标题】:Activesync: Sendmail command with MIME TypeActivesync:具有 MIME 类型的 Sendmail 命令
【发布时间】:2013-09-03 09:32:57
【问题描述】:
     <?xml version="1.0" encoding="utf-8"?>
     <SendMail xmlns="ComposeMail:" xmlns:airsync="AirSync">
     <ClientId>34234243</ClientId>
     <SaveInSentItems />
     <Mime>
        From:xxx@.com 
        To:yyy@.com 
        Subject:342234 MIME-Version: 1.0 
        Content-Type: text/plain; 
        charset="iso-8859-1" 
        Content-Transfer-Encoding: base64 
         X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3350 234234
        This is body  
     </Mime>
     </SendMail>

我正在使用 SendEmail 命令。我正在寻找将 Mime 内容发送到服务器的方法。我试过了:

  • 在 wbxml 和 setBOdy HTTP 请求中转换上述 xml,但服务器返回 103 错误代码。

  • 将 Contentt betweent 转换为 Base64,并附加到旧字符串,如下所示:

    <?xml version="1.0" encoding="utf-8"?>
    <SendMail xmlns="ComposeMail:" xmlns:airsync="AirSync"><ClientId>34234243</ClientId>
    <SaveInSentItems/>
    <Mime>
     text encode base 64
    </Mime>
    </SendMail>
    

并转换为 wbxml,发送到服务器并接收错误代码 119 表示:MessageHasNoRecipient 正在发送的消息不包含收件人。 有人帮忙吗?提前致谢

【问题讨论】:

  • 能否告诉我如何获取clientID?
  • 这是我创建的随机数,服务器不会验证该字段。
  • 好的,谢谢。我正在实施同样的事情,但收到错误代码 400,不确定是什么问题。

标签: ios encoding mime-types sendmail activesync


【解决方案1】:

我确定您的代码中的“To”关键字之前有一个空白字符。 让我们删除它。在将其编码为 base64 编码之前,您的数据必须如下所示:

   From: xxx@xxx.com
   To: xxx@xxx.com 
   Subject: Mail Subject 
   MIME-Version: 1.0 
   Content-Type: text/plain; charset=utf-8 
   Content-Transfer-Encoding: base64 

   Test body

最好的问候,

【讨论】:

  • 非常感谢。你救了我一整天!
【解决方案2】:

根据 MS 文档,Mime 元素必须是不透明的 BLOB https://msdn.microsoft.com/en-us/library/gg663453(v=exchg.80).aspx。 所以你必须把 Mime 数据写成 CDATA。

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

【讨论】:

    猜你喜欢
    • 2015-05-12
    • 2015-04-10
    • 2014-06-04
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 2021-10-05
    相关资源
    最近更新 更多