发邮件 和 excel导出中文文件名

/**
* 发邮件
* @param email
* @param subject
* @param body
* @throws UnsupportedEncodingException
*/
public static void sendEmail(String email, String subject, String body)
throws UnsupportedEncodingException,NoSuchProviderException,MessagingException,Exception {
try {
Properties props = new Properties();
String server=getPropertiesByKey("mail.smtp.host");
System.out.println("server:"+server);
props.put("mail.smtp.host", server);
props.put("mail.smtp.port", "25");
props.put("mail.smtp.auth", "true");
String user=getPropertiesByKey("mail.sendemail");
String password=getPropertiesByKey("mail.password");
String from=getPropertiesByKey("mail.senduser");
Transport transport = null;
Session session = Session.getDefaultInstance(props, null);
transport = session.getTransport("smtp");
transport.connect(server, user, password);
MimeMessage msg = new MimeMessage(session);
msg.setSentDate(new Date());
InternetAddress fromAddress = new InternetAddress(user, from,
"UTF-8");
msg.setFrom(fromAddress); String[] emails=email.split(";"); InternetAddress[] toAddress = new InternetAddress[emails.length];
for(int i=0;i<emails.length;i++){
toAddress[i] = new InternetAddress(emails[i]);
} msg.setRecipients(Message.RecipientType.TO, toAddress);
//System.out.println("subject:"+subject);
msg.setSubject(subject, "UTF-8"); Multipart mainPart=new MimeMultipart();
//创建一个包含Html内容的MimeBodyPart
MimeBodyPart htmlText=new MimeBodyPart();
//设置HTML内容
htmlText.setContent(body,"text/html;charset=utf-8"); //"text/html;charset=utf-8"
mainPart.addBodyPart(htmlText); msg.setContent(mainPart); //msg.setText(body, "UTF-8");
//msg.saveChanges();
//transport.sendMessage(msg, msg.getAllRecipients());
transport.sendMessage(msg, msg.getAllRecipients());
} catch (NoSuchProviderException e) {
e.printStackTrace();
throw e;
} catch (MessagingException e) {
e.printStackTrace();
throw e;
}catch (Exception e) {
e.printStackTrace();
throw e;
}
}
/**
* excel导出中文文件名
* @param s
* @return
*/
public static String toUtf8String(String s)
{
StringBuffer sb = new StringBuffer();
for (int i=0;i<s.length();i++){
char c = s.charAt(i);
if (c >= 0 && c <= 255) {
sb.append(c);
} else {
byte[] b;
try {
b = Character.toString(c).getBytes("utf-8");
} catch (Exception ex) {
System.out.println(ex);
b = new byte[0];
}
for (int j = 0; j < b.length; j++) {
int k = b[j];
if (k < 0) k += 256;
sb.append("%" + Integer.toHexString(k).
toUpperCase());
}
}
}
return sb.toString();
}
上一篇:cacti汇总流量图-将数据合并后作图


下一篇:Atitit.excel导出 功能解决方案 php java C#.net版总集合.doc