티스토리 뷰
@Autowired
@Qualifier("mailSender")
private JavaMailSender webMailSender;
public Map sendMail(Map mailMap,List<Map> fileList,List<Map> imgList) throws Exception{
Map resultMap=new HashMap<>();
MimeMessage msg=this.webMailSender.createMimeMessage();
MimeMessageHelper message=new MimeMessageHelper(msg,true,"UTF-8");
message.setFrom(mailMap.get("SENDER_MAIL").toString());
String rece[]=mailInfoMap.get("RECE_MAIL").toString().split(";");
message.setTo(rece);
if(mailMap.get("REF_MAIL")!=null && mailMap.get("RETE_MAIL")!=""){
String rete[]=mailMap.get("REF_MAIL").toString().split(";");
message.setCc(rete);
}
if(mailMap.get("HIDDEN_MAIL")!=null && mailMap.get("HIDDEN_MAIL")!=""){
String hidden[]=mailMap.get("HIDDEN_MAIL").toString().split(";");
message.setBcc(hidden);
}
message.setSubject(mailMap.get("TITLE").toString());
String contents=mailMap.get("CONTENT").toString().replaceAll(""","").replaceAll("<P>","<P STYLE=\"MARGIN: 0PX;\">");
if(imgList!=nul && imgList.isEmpty()){
for(Map imgInfo:imgList){
String imgFileNm=imgInfo.get("IMG_FILE_NM").toString();
contents=contents.replace(imgFileNm, "data:image/"+imgFileNm.substring(imgFileNm.lastIndexOf(".")+1)+";base64, "+imgInfo.get("IMG_BASE64").toString());
}
}
message.getMimeMessage().saveChanges();
StringBuffer sb=new StringBuffer();
StringBuffer encBuffer=new StringBuffer();
sb.append("\n<div id='a' style=\"background:url('");
sb.append("http://aaa/main/receiveMDN.do?data=");
encBuffer.append("from=");
encBuffer.append(mailMap.get("SENDER_MAIL").toString());
encBuffer.append("&mid=");
encBuffer.append(URLEncoder.encode(message.getMimeMessage().getMessageID().replaceAll("<","").replaceAll(">",""),"UTF-8"));
encBuffer.append("&to=");
encBuffer.append(rece[0].toString());
sb.append(URLEncoder.encode(SecureUtil.encrypt(SymmetricCrypt.AES, "1234567890123456",encBuffer.toString()),"UTF-8"));
sb.append("')\>");
int bodyInt=contents.toUpperCase().indexOf("<BODY");
String firstCont=contents.substring(0,bodyInt);
String listCont=contents.substring(bodyInt).replaceFirst(">",">"+sb.toString());
content=firstContent+listContent;
message.setText(content, true);
//첨부파일
if(fileList!=null && !fiileList.isEmpty()){
for(Map fileMap:fileList){
String pathFile=fileMap.get("pathFile").toString();
FileDataSource fds=new FileDataSource(pathFile);
String oriFileNm=fileMap.get("oriFileNm").toString();
message.addAttachment(MimeUtility.encodeText(oriFileNm,"UTF-8","B"),fds);
}
}
webMailSender.send(msg);
resultMap.put("mId",msg.getMessageID());
return resultMap;
}
'자바(Java)' 카테고리의 다른 글
자바 메일 mdn (0) | 2018.10.23 |
---|---|
[자바] 메일 보내기 imap (0) | 2018.10.23 |
[자바] TLS, JKS 로 URL HTTP 통신하기 - 수신 (0) | 2018.10.23 |
org.springframework.beans.factory.BeanCreationException: (0) | 2018.10.04 |
자바 aes 암호화 복호화 (0) | 2018.10.02 |
- Total
- Today
- Yesterday
- 포인터
- 자바 smtp
- ocajp
- 프로씨
- C언어
- proc
- C
- 플러터
- ocjap
- XE
- 인포믹스
- xe addon
- XE3
- 이클립스
- 오라클
- webix
- KG
- EC
- 파싱
- JDBC
- 자바
- MySQL
- 파이썬
- 문자열
- php
- esql
- 라이믹스 모듈
- 스크래핑
- Python
- xe애드온
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |