티스토리 뷰

자바(Java)

[자바] 메일 보내기 imap

xemaker 2018. 10. 23. 13:42

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;



}

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함