首页 技术 正文
技术 2022年11月18日
0 收藏 945 点赞 3,537 浏览 2203 个字
/**
* 发邮件
* @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();
}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,078
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,553
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,402
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,177
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,814
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898