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

Исходный номер базы знаний: 969854

Симптомы

Сообщение электронной почты с вложением отправляется из приложения в среде 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" предназначен для использования, когда части тела независимы и должны быть объединяться в определенном порядке. Все многокомпонентные подтипы, которые не распознаются реализацией, должны рассматриваться как "смешанные" подтипы.

Разрешение

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

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

Состояние

Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в разделе «Применимо к».