设为首页 加入收藏

TOP

Java使用代理发送邮件(二)
2014-11-24 14:12:41 来源: 作者: 【 】 浏览:5
Tags:Java 使用 代理 发送 邮件
Recipients(Message.RecipientType.TO, toAddress);
}

//多个抄送者
String[] cc = map.get("Email_Cc").toString().split(";");
if (null != cc) {
InternetAddress[] ccAddress = new InternetAddress[cc.length];
for (int j = 0; j < cc.length; j++) {
ccAddress[j] = new InternetAddress(cc[j]);
}
message.addRecipients(Message.RecipientType.CC, ccAddress);
}
message.setSubject(map.get("Email_Subject").toString());


//附件功能
Multipart multipart = new MimeMultipart();
String[] filepath = map.get("FilePath").toString().split(";");
String[] attachName = map.get("AttachName").toString().split(";");
if (null != filepath) {
for (int k = 0; k < filepath.length; k++) {
addMultipart(multipart, filepath[k], attachName[k], k);
}
} else if (null == filepath) {
message.setText(Email_Text);
}
message.setContent(multipart);

Transport transport = session.getTransport("smtp");
transport.connect(map.get("Email_Host").toString(), username, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} catch (Exception e) {
sendFlag = false;
logger.error("使用代理发送邮件出错" + e.getMessage());
e.printStackTrace();
}
}else{
//若Email_Proxy_Flag!=1则不使用代理发送
try {
Properties props = System.getProperties();
props.put("mail.smtp.auth", "true");
props.setProperty("mail.stmp.host", map.get("Email_Host").toString());

session = Session.getDefaultInstance(props,
new Authenticator() {
protected javax.mail.PasswordAuthentication getPasswordAuthentication() {
return new javax.mail.PasswordAuthentication(
username, password);
}
});
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(map.get("Email_From").toString()));

//多个接收者
String[] to = map.get("Email_To").toString().split(";");
if (to != null) {
InternetAddress[] toAddress = new InternetAddress[to.length];
for (int i = 0; i < to.length; i++) {
toAddress[i] = new InternetAddress(to[i]);
}
message.addRecipients(Message.RecipientType.TO, toAddress);
}

//多个抄送者
String[] cc = map.get("Email_Cc").toString().split(";");
if (null != cc && cc.length > 0) {
InternetAddress[] ccAddress = new InternetAddress[cc.length];
for (int j = 0; j < cc.length; j++) {
ccAddress[j] = new InternetAddress(cc[j]);
}
message.addRecipients(Message.RecipientType.CC, ccAddress);
}
message.setSubject(map.get("Email_Subject").toString());

//附件功能
Multipart multipart = new MimeMultipart();
String[] filepath = map.get("FilePath").toString().split(";");
String[] attachName = map.get("AttachName").toString().split(";");
if (null != filepath && filepath.length > 0 && attachName.length > 0 && filepath.length == attachName.length) {
for (int k = 0; k < filepath.length; k++) {
addMultipart(multipart, filepath[k], attachName[k], k);
}
} else if (null == filepath) {
message.setText(Email_Text);
}
message.setContent(multipart);

Transport transport = session.getTransport("smtp");
transport.connect(map.get("Email_Host").toString(), username, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} catch (Exception e) {
sendFlag = false;
logger.error("发送邮件出错" +
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android应用之小球跟着手指动 下一篇C语言 字符指针和字符数组的区别

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: