1
     <?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 错误代码。

  • 将 Content 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 正在发送的消息不包含收件人。有人帮忙吗?提前致谢

4

2 回答 2

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

此致,

于 2013-09-04T08:31:38.183 回答
0

从 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>
于 2017-01-27T11:39:26.577 回答