기존에 메일 전송은 구현한 경험이 있으므로,
템플릿을 적용하는 방법만 정리하였습니다.
1 . .template
파일 저장 (html 파일) - 값이 적용될 부분에 $변수 명$
입력
2 . 해당 template 파일을 읽어 String 변수에 저장
// java8
Path fileName = Path.of("src/main/resources/template/test.txt");
String fileData = Files.readString(fileName);
// java 11
Path filePath = Paths.get("src/main/resources/template/test.txt");
List<String> lines = Files.readAllLines(filePath);
String fileData = "";
for (String line : lines) {
fileData += line;
}
3 . fileData의 데이터 중 $변수 명$
에 값 replace
4 . 태그 변환
Map<String, String> guideMap = new HashMap<String, String>();
guideMap.put("<", "<");
guideMap.put(">", ">");
guideMap.put("'", "'");
for(String ch : guideMap.keySet()) {
value = value.replaceAll(ch, guideMap.get(ch));
}
5 . 메일 전송
MimeMessage msg = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(msg, false);
helper.setText(fileData, true);