При отправке сообщения, которое имеет вложения в среде Exchange Server, текст сообщения отображается неправильно.

Исходный номер КБ:   969854

Симптомы

Сообщение электронной почты с вложением отправляется из приложения в среде 2007 Microsoft Exchange Server 2007 Exchange Server 2010 г. В сообщении электронной почты также имеется текстовая часть тела, указанная после части тела вложения. Когда пользователь получает сообщение электронной почты, тело сообщения отображается неправильно как вложение вместе с вложением, отправленным приложением. При этом сообщение, отправленное из приложения, отображается следующим образом:

MIME-version: 1.0 Content-type: multipart/mixed; boundary="exchange" This is a message with multiple parts in MIME format. --exchange Content-type: application/octet-stream Content-transfer-encoding: base64 PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcyBpcyB0aGUg Ym9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg== --exchange Content-type: text/plain This is the body of the message. --exchange--

Причина

Эта проблема возникает, когда часть тела вложения в сообщении электронной почты отправляется до отправки части тела сообщения. Эта проблема возникает из-за того, что сообщение отправляется приложением в неправильном формате. На основе определения "Смешанный подтип", упомянутого в разделе 5.1.3 RFC 2046, "смешанный" подтип "multipart" предназначен для использования, когда части тела независимы и должны быть объединены в определенном порядке. Любые подтипы "multipart", которые не распознает реализация, должны рассматриваться как "смешанные" подтипы.

Решение

Если изменить порядок частей тела в приложении, проблема будет устранена. В этом случае правильный порядок сообщения электронной почты должен быть показан следующим образом:

MIME-version: 1.0 Content-type: multipart/mixed; boundary="exchange" This is a message with multiple parts in MIME format. --exchange Content-type: text/plain <This is the body of the message.> --exchange Content-type: application/octet-stream Content-transfer-encoding: base64 PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcyBpcyB0aGUg Ym9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg== --exchange--

Статус

Корпорация Майкрософт подтвердила, что это проблема в продуктах Майкрософт, перечисленных в разделе "Применяется к".