@Autowired
private MailSender mailSender;
@PostMapping("/send")
public ResponseEntity<Response> send() throws MessagingException, UnsupportedEncodingException {
Map<String, Object> params = new HashMap<>();
// 템플릿용 파라미터
params.put("name","teset");
// 단건 전송
MailSendRequest request = MailSendRequest.builder()
.siteNo("1") // null 일 경우 Cookie에서 자동입력됩니다.
.mbrNo("100033")
.emailGbCd("EMA-MA_11")
.emailTitle("안녕하세요 이메일 전송 테스트입니다.")
.emailConts("이메일 내용이 들어가는 곳입니다.") // 템플릿을 사용하는경우 삭제!
.template("sample/sp1") // 템플릿을 사용하는 경우 ---(2)필독!
.variables(params) // 템플릿용 파라미터
.recvmnNm("테스트")
.recvmnEmailAddr("emailtempid@naver.com")
.build();
// ----- API-COMMON 프로젝트에서 직접 호출시
mailSender.send(request);
// ----- API-COMMON 호출시
// restApiUtil.post(
// this.commonApiUrl + "/api/common/interface/bizmessage/sendmail",
// request,
// new ParameterizedTypeReference<Response<Void>>() {}
// ).getPayload();
// 대량 전송 예시
List<MailSendRequest> mailSendRequestList = new ArrayList<>();
for (int i = 0; i < 10; i++) {
mailSendRequestList.add(
MailSendRequest.builder()
.siteNo("1") // null 일 경우 Cookie에서 자동입력됩니다.
.mbrNo("100033")
.emailGbCd("EMA-MA_11")
.emailTitle("안녕하세요 이메일 전송 테스트 : "+(i+1))
.emailConts("이메일 내용이 들어가는 곳입니다. -- "+(i+1)) // 템플릿을 사용하는경우 삭제!
.template("sample/sp1") // 템플릿을 사용하는 경우 ---(2)필독!
.variables(params) // 템플릿용 파라미터
.recvmnNm("테스트")
.recvmnEmailAddr("emailtempid@naver.com")
.build()
);
}
// ----- API-COMMON 프로젝트에서 직접 호출시
// mailSender.sendBulk(mailSendRequestList);
// ----- API-COMMON 호출시
// restApiUtil.post(
// this.commonApiUrl + "/api/common/interface/bizmessage/sendmailbulk",
// mailSendRequestList,
// new ParameterizedTypeReference<Response<Void>>() {}
// ).getPayload();
...
}