jmail 发送的邮件 怎么换行? 我的源代码如下,发送邮件已经没问题,但是收到的邮件内容和我在页面输入后传过来的不一样,输入使用了回车键换了行,可是收到的邮件没换行。为什么???请高手指教!!!
public boolean sendMail(String ttitle,String tcontent,String[] ttos,String[] attachFile){
Properties props = new Properties();
props.put( "mail.smtp.host ", "xx.xx.cn ");
props.put( "mail.smtp.auth ", "true ");
Session s = Session.getInstance(props);
s.setDebug(true);
MimeMessage message = new MimeMessage(s);
try {
InternetAddress from = new InternetAddress( "amyfe@163.com.cn ");
message.setFrom(from);
InternetAddress[] address = new InternetAddress[ttos.length];
for(int i=0;i <address.length;i++){
address[i] = new InternetAddress(ttos[i]);
}
message.setRecipients(Message.RecipientType.TO,address);
message.setSubject(ttitle);
message.setSentDate(new Date());
Multipart mm = new MimeMultipart();
// 给消息对象设置内容
BodyPart mdp = new MimeBodyPart();
System.out.println( "tcontent: "+tcontent);
mdp.setContent(tcontent, "text/html;charset=gb2312 ");
mm.addBodyPart(mdp);
//附件相关
//String[] attachFile = { "C:\\MSINET.OCX ", "C:\\RICHTX32.OCX "};
if(attachFile!=null&&attachFile.length> 0){
FileDataSource fds = null;
BodyPart attachbodypart = null;
for(int i=0;i <attachFile.length&&!attachFile[i].equals( " ");i++){
attachbodypart = new MimeBodyPart();
fds =new FileDataSource(attachFile[i]);
attachbodypart.setDataHandler(new DataHandler(fds)); //设置数据源
attachbodypart.setFileName(MimeUtility.encodeWord(fds.getName(), "UTF-8 ", "Q "));
//new String(fds.getName().getBytes( "gb2312 "), "iso8859 ")
mm.addBodyPart(attachbodypart);
}
message.setContent(mm);
message.saveChanges();
}
Transport transport = s.getTransport( "smtp ");
transport.connect( "xx.xx.cn ", "amyfe ", "123456 ");
transport.sendMessage(message, message.getAllRecipients());
transport.close();
System.out.println( "发送成功! ");
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
------解决方案--------------------
在发出之前用replaceAll()方法把\n换成<br>