메일 발송을 위해 필요한 부분
메일 서버(SMTP Server)
// https://mvnrepository.com/artifact/javax.activation/activation
implementation group: 'javax.activation', name: 'activation', version: '1.1.1'
// https://mvnrepository.com/artifact/javax.mail/mail
implementation group: 'javax.mail', name: 'mail', version: '1.4.7'
Properties props = System.getProperties();
// smtp 서버 설정
// props.put("mail.smtp.host", "smtp.gmail.com");
props.setProperty("mail.store.protocol", "imaps");
Session session = Session.getInstance(props, null); // 세션 smtp 시작
// Store store = session.getStore("pop3");
Store store = session.getStore("imaps");
store.connect("imap.gmail.com", username, password);
// 받은편지함을 INBOX 라고 한다.
Folder folder = store.getFolder("INBOX");
// 속성인지 혹은 수정 속성인지 설정
folder.open(Folder.READ_WRITE);
// 받은 편지함에 있는 메일 모두 읽어오기
Message[] messages = folder.getMessages();
// 발신인
messages[0].getFrom()[0].toString()
// 메일 제목
messages[0].getSubject()
messages[0].setFlag(Flags.Flag.DELETED, true);
// folder와 store은 조회 후 꼭 close 해주어야함
// folder.close()에는 메시지 삭제 여부를 주어야함
// 실제 메시지가 삭제되는 시점은 folder를 close하는 시점
folder.close(true);
store.close();
인터럽트(Interrupt)
스레드를 종료하기 위한 메커니즘