O corpo de uma mensagem é apresentado incorretamente como um anexo quando envia a mensagem com anexos num ambiente Exchange Server

Número original da BDC: 969854

Sintomas

Uma mensagem de e-mail com um anexo é enviada a partir de uma aplicação num ambiente Microsoft Exchange Server 2007 ou Exchange Server 2010. A mensagem de e-mail também tem uma parte do corpo do texto que é especificada após a parte do corpo do anexo. Quando um utilizador recebe a mensagem de e-mail, o corpo da mensagem é apresentado incorretamente como um anexo juntamente com o anexo que é enviado pela aplicação. Quando este problema ocorre, a mensagem enviada da aplicação é apresentada da seguinte forma:

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

Causa

Este problema ocorre quando uma parte do corpo do anexo numa mensagem de e-mail é enviada antes do corpo da mensagem ser enviada. Este problema ocorre porque a mensagem é enviada pela aplicação num formato incorreto. Com base na definição "Subtipo Misto" mencionada na secção 5.1.3 de RFC 2046, o subtipo "misto" de "multipart" destina-se a ser utilizado quando as partes do corpo são independentes e têm de ser agrupadas por uma ordem específica. Todos os subtipos "multipart" que uma implementação não reconhece têm de ser tratados como sendo de subtipo "misto".

Resolução

Se alterar a ordem das partes do corpo na aplicação, o problema será resolvido. Neste caso, a ordem correta da mensagem de e-mail deve ser apresentada da seguinte forma:

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

Estado

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".