016-006447

パッケージ版 メールワイズ

関心あり
0人の方が関心を示しています

メールワイズから送信したメールで、差出人欄と宛先欄の文字列が正常に表示されない場合がある。

種別
不具合
機能
  • メール作成
再現バージョン
  • 5.0.4
改修バージョン
5.0.5
公開日
2013-04-19
更新日
2013-04-24

詳細

【発生条件】

 

次の条件をすべて満たすと発生する場合があります。

  • メールワイズから送信したメールを受信する。

  • メール送信時、差出人欄(From)または宛先欄(To、Cc)に指定されている文字列に「ASCII」以外の文字が含まれている。

  • メール送信時、差出人欄(From)または宛先欄(To、Cc)に指定されている文字列の長さが一定数を超えている。

    送信時の文字コードに「ISO-2022-JP」を指定した場合

    • 59バイト以上である場合、現象が発生します。

      例: 
      すべて全角:27文字以上

    送信時の文字コードに「UTF-8」を指定した場合

    • 64バイト以上である場合、現象が発生します。

      例:
      すべて全角:22文字以上

 

【再現手順】

  1. メールワイズで「発生条件」を満たすメールを送信します。

  2. メールワイズ(またはMicrosoft Outlook Express 等の他のメールクライアント)で、手順1で送信したメールを受信します。

  3. 手順2で受信したメールの標題をクリックします。

 

→現象発生:
 差出人欄と宛先欄の文字列が正常に表示されない場合があります。

 

 

補足:

  • 既にエンコードされている文字列を二重エンコードしてしまうことによって発生する不具合です。

  • 次の部分でも、同様の現象が発生します。

    • メール通知時の差出人欄(From)

    • 自動返信時の宛先欄(To)
      (受信メールの差出人欄(From)が長い場合)

  • 送信時の文字コードや内部仕様により、現象が発生する文字数は異なります。

    送信時の文字コードに「ISO-2022-JP」を指定した場合

    • 1文字につき全角文字は2バイト、半角文字は1バイトでカウントします。
      また、全角文字の前後のエスケープシーケンスとして、それぞれ3バイトずつカウントする必要があります。

      例1:
      あああああ(16バイト)
      →エスケープシーケンス(3バイト)+全角5文字(10バイト)+エスケープシーケンス(3バイト)

      例2:
      aaaaa(5バイト)
      →半角5文字(5バイト)

      例3:
      あaあ(17バイト)
      →エスケープシーケンス(3バイト)+全角1文字(2バイト)+エスケープシーケンス(3バイト)+半角1文字(1バイト)+エスケープシーケンス(3バイト)+全角1文字(2バイト)+エスケープシーケンス(3バイト)

    • 全角と半角のどちらとも含まれている文字列が指定されていると、文字数が少ない場合でも発生する可能性があります。

      例:
      あaあaあaあaあaあaあ(62バイト)

    送信時の文字コードに「UTF-8」を指定した場合

    • 1文字につき全角文字は3バイト、半角文字は1バイトでカウントします。

      例4:
      あああああ(15バイト)
      →全角5文字(15バイト)

      例5:
      aaaaa(5バイト)
      →半角5文字(5バイト)

      例6:
      あaあ(7バイト)
      →全角1文字(3バイト)+半角1文字(1バイト)+全角1文字(3バイト)

回避/対応方法

【回避方法】

 

次のどちらかの操作をすることで回避できます。

  • メール送信時、差出人欄(From)または宛先欄(To、Cc)で次のどちらかの操作を行います。
    • 文字列から「ASCII」以外の文字を削除します。

    • 文字列の文字数を少なくします。
  • 次のバージョンの製品で本現象を改修しています。バージョンアップを検討してください。
    • バージョン 5.0.5のメールワイズ