[java] Javamail을 사용하여 이미지 첨부 파일 보내기
이 문서에서는 Javamail을 사용하여 이미지 파일을 이메일에 첨부하는 방법을 소개합니다.
1. Javamail 라이브러리 추가하기
이미지 첨부를 위해 Javamail 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml
파일에 다음 종속성을 추가하세요:
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.6.2</version>
</dependency>
2. 이미지 파일 첨부하기
다음은 Javamail을 사용하여 이미지 파일을 이메일에 첨부하는 예제입니다.
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;
public class ImageEmailSender {
public void sendImageEmail() {
String to = "recipient@example.com";
String from = "sender@example.com";
String host = "smtp.example.com";
String subject = "이미지 첨부 파일 테스트";
// SMTP 서버 설정
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", host);
// Session 객체 생성
Session session = Session.getDefaultInstance(properties);
try {
// MimeMessage 생성
MimeMessage message = new MimeMessage(session);
// 수신자, 발신자, 제목 설정
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);
// 이미지 파일 첨부
String imageFilePath = "path/to/image.jpg";
BodyPart messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(imageFilePath);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(imageFilePath);
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);
// 이메일 보내기
Transport.send(message);
System.out.println("이미지 첨부 파일을 이메일로 보냈습니다.");
} catch (MessagingException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ImageEmailSender sender = new ImageEmailSender();
sender.sendImageEmail();
}
}
위의 예제는 image.jpg
파일을 이메일에 첨부하고, 이미지 파일의 경로를 imageFilePath
변수에 저장하는 방법을 보여줍니다.
3. 실행
예제를 실행하기 전에, 다음 사항을 확인하세요:
to
,from
,host
변수를 실제 이메일 주소와 SMTP 호스트 주소로 변경하세요.- 이미지 파일이 실제 경로에 존재하는지 확인하세요.
애플리케이션을 실행하면, 이미지 첨부 파일이 수신자에게 이메일로 전송됩니다.
이제 Javamail을 사용하여 이미지 첨부 파일을 보낼 수 있는 방법을 알게 되었습니다. 이를 활용하여 프로젝트에서 필요한 기능을 구현해 보세요.