사용자 정보에 이메일 추가하기 → 레벨 추가와 동일하게 진행
1차 목표: email 필드 추가하기 + 테스트 코드 성공 시키기
javax.maili 패키지
<aside> 📌
upgradeLevel() 안에 JavaMail 코드는 직접 넣지 않는 편이 낫다는 건 이제 알제?
</aside>
protected void upgradeLevel(User user) {
policy.upgradeLevel(user);
userDao.update(user);
sendUpgradeEmail(user);
}
private void sendUpgradeEmail(User user){
Properties props = new Properties();
props.put("mail.smtp.host", "mail.ksug.org");
Session s = Session.getInstance(props, null);
MimeMessage message = new MimeMessage(s);
try{
message.setFrom(new InternetAddress("[email protected]"));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(user.getEmail()));
message.setSubject("[TOBY SPRING] Upgrade 안내");
message.setText("사용자 등급이 "+user.getLevel().name() + "로 업그레이드 되었습니다.");
Transport.send(message);
} catch (AddressException e) {
throw new RuntimeException(e);
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}