一般的,邮件的主题是要用BASE64来编码的,但是当我们的主题长度过大的时候,编码后的内容中是会有换行符的。具体的是当每行超过76个字符后就开始换行。所以当收到这封邮件时候,主题显示的是密文就是这个原因,所以对于邮件主题是自定义的而言,就需要处理掉BASE64后编码中的换行符。
具体的可以参考下面的方法:
具体的可以参考下面的方法:
String tt = new BASE64Encoder().encode(subject.getBytes("UTF-8"));
subject = "=?UTF-8?B?" + tt + "?=";
StringReader sr = new StringReader(subject);
BufferedReader br = new BufferedReader(sr);
String line = null;
String temp = "";
while((line=br.readLine())!=null){
temp += line;
}
subject = temp;