[java] JAX-RS를 활용한 이메일 전송
개요
JAX-RS(Java API for RESTful Web Services)는 자바에서 RESTful 웹 서비스를 개발하기 위한 API입니다. 이를 활용하여 이메일 전송 기능을 구현하는 방법을 알아보겠습니다.
의존성 설정
먼저, JAX-RS를 사용하기 위해 의존성을 추가해야 합니다. 프로젝트의 pom.xml
에 다음과 같이 의존성을 추가합니다:
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1</version>
</dependency>
이메일 전송 API 생성
이메일을 전송하기 위한 RESTful API를 생성합니다. 예를 들어, /email
경로로 POST 요청을 받으면 이메일을 전송하는 API를 구현하겠습니다.
@Path("/email")
public class EmailResource {
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response sendEmail(Email email) {
// 이메일 전송 로직 구현
// ...
return Response.ok().build();
}
}
위의 예제 코드에서 Email
클래스는 이메일 메시지를 위한 데이터 모델입니다. javax.mail
라이브러리를 사용하여 실제로 이메일을 전송하는 로직을 구현할 수 있습니다.
RESTful 서비스 등록
이메일 전송 API를 RESTful 서비스로 등록해야 합니다. 이를 위해 서비스를 Application 클래스에 등록하면 됩니다.
@ApplicationPath("/api")
public class MyApplication extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> resources = new HashSet<>();
resources.add(EmailResource.class);
return resources;
}
}
위의 예제 코드에서 /api
경로로 이메일 전송 API를 등록하게 됩니다.
테스트
이제 서버를 실행하고 테스트를 수행해보겠습니다. 예를 들어, curl
명령어를 사용하여 POST 요청을 보낼 수 있습니다.
$ curl -X POST -H "Content-Type: application/json" -d '{"to": "example@example.com", "subject": "Hello", "body": "This is a test email"}' http://localhost:8080/api/email
위의 명령어를 실행하면 example@example.com
으로 이메일이 전송됩니다.
결론
JAX-RS를 활용하여 이메일 전송 기능을 구현하는 방법을 알아보았습니다. RESTful API를 통해 이메일을 전송하는 것은 간단하고 효율적인 방법입니다.