QA@IT

Microsoft Outlook 2010 でネストされた multipart がある場合、メッセージが欠損する

4976 PV

Microsoft Outlook 2010 を使用しています。
メールの構成が下記のようになっている場合にメッセージ C が表示されません。

  • multipart/mixed (boundary="AAAAAAAAAA")
    • C
    • multipart/alternative boundary="BBBBBBBBBB"
      • D
      • E

この構成のメールソースを作って .eml として開いたら問題無いのですが(D,Eが添付ファイルになる)、
POP経由で受信するとOutlookが勝手にC部分を切り捨てるようでデータが無くなってしまってます。

英語圏も含めて色々検索してみましたがあまり情報を見つける事が出来ませんでした。
ネストされたmultipart構成が問題という情報も無く、Outlookの不具合という情報も無く、
調査が行き詰まってしまっています。

どなたか同じ事象に当たった方はいらっしゃいませんでしょうか。
何か情報を頂けたら助かります。

メールソースのイメージは下記のような状態です。

Content-Type: multipart/mixed; boundary="AAAAAAAAAA"

--AAAAAAAAAA==
Content-Language: ja-JP
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

C

--AAAAAAAAAA
Content-Type: multipart/alternative; boundary="BBBBBBBBBB"
MIME-Version: 1.0
Content-Disposition: inline

--BBBBBBBBBB
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

D

--BBBBBBBBBB
Content-Type: text/html; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

E

--BBBBBBBBBB--
--AAAAAAAAAA--

回答

解決策ではないが関連現象として

Microsoft Outlook は 特定のマルチパートの変換も自動制御を行っているようだ。
※ ファイルタイプの変換(eml -> msg だったかな)

上記はMicrosoft がいうには『仕様』らしい

編集 履歴 (0)
  • 情報有り難うございます。
    特定のマルチパート変換を自動で行っているですか。
    その中でマルチパートの一部を切り落としているっぽいですね。

    ちなみにソースを自分で書いた .eml ファイルは正常に開いて意図通りの動作をします。
    POPや受信処理の中で自動変換しているんですかね。:(
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。