支持qq邮箱、163、其他内网邮箱(qq邮箱需要申请开通发送权限,),方法入参(文件地址列表,收件人列表,邮件主题,邮件内容)
public static void sendSecond(List<String> filePathList, List<Map<String, Object>> addresseeList, String subject, String content) throws Exception {
Properties props = new Properties();
props.setProperty("mail.host", "qq.com");
props.setProperty("mail.smtp.port", "30");
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.smtp.auth", "true");
props.put("mail.smtp.ssl.enable", "false");
Session session = Session.getInstance(props);
Message message = new MimeMessage(session);
message.setSubject(subject);
Address address = new InternetAddress("123456@qq.com");
message.setFrom(address);
MimeMultipart mm = new MimeMultipart();
for (int i = 0; i < filePathList.size(); i++) {
MimeBodyPart part1 = new MimeBodyPart();
DataHandler dh = new DataHandler(new FileDataSource(filePathList.get(i)));
part1.setDataHandler(dh);
part1.setFileName(MimeUtility.encodeText(dh.getName()));
mm.addBodyPart(part1);
}
MimeBodyPart text = new MimeBodyPart();
text.setContent(content, "text/html;charset=UTF-8");
for (int i = 0; i < addresseeList.size(); i++) {
Map<String, Object> addresseeObj = addresseeList.get(i);
message.setRecipient(Message.RecipientType.TO, new InternetAddress(addresseeObj.get("address").toString(), addresseeObj.get("personal").toString(), "UTF-8"));
}
mm.addBodyPart(text);
mm.setSubType("mixed");
message.setContent(mm);
Transport transport = session.getTransport();
transport.connect("123455@qq.com", "自己的密码");
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}