[자바] 메일 보내기 imap
public Map mailImap(Map mailMap,List<Map> fileList,List<Map> imgList) throws Exception{
Map resultMap=new HashMap<>();
Properties props=new Properties();
props.put("mail.store.protocol","imap");
props.put("mail.imap.host",host);
props.put("mail.imap.port",port);
props.put("mail.imap.auth.plain.disable","true");
Session session=Session.getDefaultInstance(props);
session.setDebug(true);
Store store=session.getStore("imap");
String mailId=mailMap.get("SENDER_MAIL").toString().substring(0,mailMap.get("SENDER_MAIL").toString().indexOf("@"));
Message message=new MimeMessage(session);
String[] arrMailTo=mailMap.get("RECE_MAIL").toString.split(";");
InternetAddress[] addresses=new InternetAddress[arrMailTo.length];
for(int i=0;i<arrMailTo.length;i++){
addresses[i]=new InternetAddress(arrMailTo[i].trim());
}
message.setRecipients(Message.RecipientType.TO, addresses);
if(mailMap.get("REF_MAIL")!=null && mailMap.get("REF_MAIL")!=""){
String[] arrMailCc=mailMap.get("REF_MAIL").toString().split(";");
InternetAddress[] ccTo=new InternetAddress[arrMailCc.length];
for(int i=0;i<arrMailCc.length;i++){
ccTo[i]=new InternetAddress(arrMailCc[i].trim());
}
message.setRecipients(Message.RecipientType.CC, ccTo);
}
if(mailMap.get("HIDDEN_MAIL")!=null && mailMap.get("HIDDEN_MAIL")!=""){
String[] hidden=mailMap.get("HIDDEN_MAIL").toString().split(";");
InternetAddress[] bccTo=new InternetAddress[arrMailCc.length];
for(int i=0;i<hidden.length;i++){
bccTo[i]=new InternetAddress(hidden[i].trim());
}
message.setRecipients(Message.RecipientType.BCC, bccTo);
}
message.setFrom(new InternetAddress(mailMap.get("SENDER_MAIL").toString()));
message.setSubject(mailMap.get("TITLE").toString());
String content=mailMap.get("CONTENT").toString();
//img 처리하려면 하고.. 이전포스팅에 있음.
if(fileList!=null && !fileList.isEmpty()){
String attach="첨부파일";
for(Map fileMap:fileList){
attach+="<br>"+fileMap.get("oriFileNm").toString();
}
//화면 디자인 css 처리하려면 하고..<div style="">
int bodyInt=contents.toUpperCase().indexOf("<BODY");
String firstCont=contents.substring(0,bodyInt);
contents=firstCont+listCont;
}
Multipart multiPart=new MimeMultipart();
MimeBodyPart bodyPart="";
bodyPart=new MimeBodyPart();
bodyPart.setContent(contents,"text/html; charset=utf-8");
bodyPart.setHeader("Content-Type","text/html;charset=\"utf-8\"");
bodyPart.setHeader("Content-Transfer-Encoding","quoted-printable");
masterPart.addBodyPart(bodyPart);
message.setContent(masterPart);
store.connect(mailId,"aa");
Folder inbox=store.getFolder("Sent");
inbox.open(Folder.READ_WRITE);
inbox.appendMessages(new Message[]{message});
inbox.close(true);
store.close();
return resultMap;
}