[java] Javamail을 사용하여 이메일 제목 및 본문 수정하기
Javamail은 Java에서 이메일을 보내고 받을 수 있는 API입니다. 이 예제에서는 Javamail을 사용하여 이메일의 제목과 본문을 수정하는 방법에 대해 알아보겠습니다.
1. Javamail 라이브러리 추가하기
먼저, 프로젝트에 Javamail 라이브러리를 추가해야 합니다. Maven을 사용한다면 pom.xml
파일에 다음 의존성을 추가하세요:
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
Gradle을 사용한다면 build.gradle
파일에 다음 의존성을 추가하세요:
compile group: 'com.sun.mail', name: 'javax.mail', version: '1.6.2'
2. 이메일 제목과 본문 수정하기
import javax.mail.*;
import javax.mail.internet.*;
public class EmailModifier {
private static final String HOST = "your_smtp_host";
private static final String USERNAME = "your_username";
private static final String PASSWORD = "your_password";
public static void main(String[] args) {
// 이메일 서버 정보 설정
Properties props = new Properties();
props.setProperty("mail.smtp.host", HOST);
props.setProperty("mail.smtp.auth", "true");
// 인증 정보 설정
Authenticator auth = new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(USERNAME, PASSWORD);
}
};
// 세션 생성
Session session = Session.getInstance(props, auth);
try {
// 메일 검색
Store store = session.getStore("imaps");
store.connect(HOST, USERNAME, PASSWORD);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
// 메일 선택
Message[] messages = folder.getMessages();
Message message = messages[0];
// 제목 수정
String newSubject = "새로운 제목";
message.setSubject(newSubject);
// 본문 수정
String newContent = "새로운 본문";
message.setContent(newContent, "text/plain");
// 수정된 메일 저장
folder.close(true);
store.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
위의 예제에서는 Javamail을 사용하여 이메일 서버에 연결하고, INBOX 폴더에서 첫 번째 메일을 선택합니다. 그런 다음, message.setSubject()
메소드를 사용하여 제목을 수정하고, message.setContent()
메소드를 사용하여 본문을 수정합니다.
이제 message.saveChanges()
메소드를 호출하여 수정된 메일을 저장합니다. 반드시 folder.close(true)
를 호출하여 변경사항을 커밋해야 합니다.
위의 예제를 실행하고, 제목과 본문이 수정된 메일을 확인하세요.