ExecutorService 를 이용한 javaMail 대량 메일 발송 bulk mail send

2016.10.04 11:54JAVA

1.병렬처리를 이용한 ExecutorService 사용.

2. JavaMail Session 유지

3. 발송 1000건 마다 메일 발송


Transport t = session.getTransport();
t.connect();
try {
  for(Message m : messages) {
    m.saveChanges();
    t.sendMessage(m, m.getAllRecipients());
  }
} finally {
  t.close();
}


while (mailSize == 1000) {

mailSenderService.send(mailMessage);

}


좀더 발전시킨다면, 컨슈머와 프로듀서 개념으로 사용하여, 특정 제약 조건을 좀더 명확하게 걸어 주거나,

발송건수 제한을 두고, 제한한 데이터 이상의 데이터가 들어왔을때 제어 할 수 있도록 수정



예제 코드