016-006447
メールワイズから送信したメールで、差出人欄と宛先欄の文字列が正常に表示されない場合がある。
- 種別
- 不具合
- 機能
-
- メール作成
- 再現バージョン
-
- 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文字以上
- 59バイト以上である場合、現象が発生します。
【再現手順】
- メールワイズで「発生条件」を満たすメールを送信します。
- メールワイズ(またはMicrosoft Outlook Express 等の他のメールクライアント)で、手順1で送信したメールを受信します。
- 手順2で受信したメールの標題をクリックします。
→現象発生:
差出人欄と宛先欄の文字列が正常に表示されない場合があります。
補足:
- 既にエンコードされている文字列を二重エンコードしてしまうことによって発生する不具合です。
- 次の部分でも、同様の現象が発生します。
- メール通知時の差出人欄(From)
- 自動返信時の宛先欄(To)
(受信メールの差出人欄(From)が長い場合)
- メール通知時の差出人欄(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バイト)
- 1文字につき全角文字は2バイト、半角文字は1バイトでカウントします。
回避/対応方法
【回避方法】
次のどちらかの操作をすることで回避できます。
- メール送信時、差出人欄(From)または宛先欄(To、Cc)で次のどちらかの操作を行います。
- 文字列から「ASCII」以外の文字を削除します。
- 文字列の文字数を少なくします。
- 文字列から「ASCII」以外の文字を削除します。
- 次のバージョンの製品で本現象を改修しています。バージョンアップを検討してください。
- バージョン 5.0.5のメールワイズ