2017-02-17 4 views
0

この問題は、MimeUtility.unfold()メソッドに関連しているようです。 MimeUtility.fold()で折りたたまれたときに、折りたたみ文字のしきい値を超えた場合に改行文字が挿入されます。展開時に、改行の後に複数のスペースがある場合、スペースは取り除かれます。下の例は問題を示しています。いかなる援助も感謝します。JAVAメールの件名から二重引用符を削除する

String test = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   bbbbbbbbbbb"; 

System.out.println("Subject Length Before Folding = " + test.length()); 

test = MimeUtility.fold(9, test);//As per MimeMessage.setSubject(); 
System.out.println("Subject Length After Folding = " + test.length()); 

test = MimeUtility.unfold(test); //As per MimeMessage.getSubject(); drops spaces after newline 
System.out.println("Subject Length After Unfolding = " + test.length()); 

答えて

1

はい、そうです。 JavaMailは、複数のスペースとタブを1つのスペースに置き換えて、ヘッダーをクリーンアップしようとしていました。一般的に、これは問題ではありません。ヘッダーが空白の代わりにタブを使用して折り畳まれて継続行を「インデント」すると、ヘッダーの値がよく見えるようになります。

厳密に言えば、継続行頭の空白は維持する必要があります。

私はJavaMail 1.6用に修正したbugを提出しました。

関連する問題