Activesync: команда Sendmail с типом MIME

     <?xml version="1.0" encoding="utf-8"?>
     <SendMail xmlns="ComposeMail:" xmlns:airsync="AirSync">
     <ClientId>34234243</ClientId>
     <SaveInSentItems />
     <Mime>
        From:[email protected] 
        To:[email protected] 
        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 на сервер. Я пытался:

  • Преобразуйте вышеуказанный xml в wbxml и установите HTTP-запрос setBOdy, но сервер вернет код ошибки 103.

  • Преобразуйте содержимое между ними в 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 Отправляемое сообщение не содержит получателя. Кто-нибудь поможет? заранее спасибо


person HoanNguyen    schedule 30.08.2013    source источник
comment
Подскажите, пожалуйста, как получить clientID?   -  person Dipen Patel    schedule 05.02.2015
comment
Это случайное число, которое я создал, сервер не будет проверять поле.   -  person HoanNguyen    schedule 05.02.2015
comment
Хорошо спасибо. Я реализую то же самое, но получаю код ошибки 400, не уверен, в чем проблема.   -  person Dipen Patel    schedule 05.02.2015


Ответы (2)


Я уверен, что у вас есть пустой символ перед ключевым словом «Кому» в вашем коде. Давайте удалим его. Ваши данные, прежде чем вы закодируете их в кодировку base64, должны выглядеть так:

   From: [email protected]
   To: [email protected] 
   Subject: Mail Subject 
   MIME-Version: 1.0 
   Content-Type: text/plain; charset=utf-8 
   Content-Transfer-Encoding: base64 

   Test body

С наилучшими пожеланиями,

person Hoàng Cừ    schedule 04.09.2013
comment
Большое тебе спасибо. Вы спасаете весь мой день! - person HoanNguyen; 04.09.2013

Из документации MS элемент Mime должен быть непрозрачным BLOB https://msdn.microsoft.com/en-us/library/gg663453(v=exchg.80).aspx. Таким образом, вы должны записывать данные Mime как CDATA.

<Mime>
<![CDATA[From: [email protected]
To: [email protected] 
Subject: Mail Subject 
MIME-Version: 1.0 
Content-Type: text/plain; charset=utf-8 

Test body]]>
</Mime>
person Libor B.    schedule 27.01.2017