メールの読み込みが終了しない場合がある

文書番号 : 83068     文書種別 : 不具合     登録日 : 2018/07/23     最終更新日 : 2018/08/22
文書を印刷する
対象製品
Secure iNetSuite for .NET 4.0J
状況
修正済み
詳細
メールの受信処理、またはMailMessage.Openメソッドでメールを読み込む際、特定のメールで読み込み処理が終了しない場合があります。

メールに他のメールメッセージが含まれる場合、「Content-Type: message/rfc822」としてマルチパートに設定されますが、このときに「Content-Type: message/rfc822」のパートが次の条件を満たす場合、メールのデコード処理が永久ループに陥り読み込み処理が終了しなくなります。

(1)マルチパートのメールヘッダに「Content-Transfer-Encoding: quoted-printable」が設定されている
(2)マルチパートに含めるメールがマルチパートメッセージで構成されている
(3)マルチパートに含めるメールが実際には「quoted-printable」でエンコードされていない


【問題が発生するメールヘッダの設定例】

Content-Type: message/rfc822
Content-Transfer-Encoding: quoted-printable ' <--- (1)
 ┗Content-Type: multipart/mixed; ' <--- (2)
  ┗Content-Type: text/plain; charset=iso-2022-jp
   Content-Transfer-Encoding: 7bit

このように構成されているメールを、Dart.Mail.MailMessageオブジェクトに展開することはできません。

問題の発生する「Content-Type: message/rfc822」のパートのメールヘッダーに、「Content-Transfer-Encoding: quoted-printable」を設定しない場合や、「Content-Disposition: attachment」が設定されている場合は問題は発生しません。
回避方法
この問題はService Pack 8(v4.0.2018.0822)で修正されました。
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。