강좌
클라우드/리눅스에 관한 강좌입니다.
프로그램 분류

JavaMail 설치

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문


icon01.giftitle24.gif

김세곤 <sehkone@bawi.org>

1999년 12월 21일

JavaMail이란?

웹 사이트를 돌아다니다 보면, 회원 등록을 하자마자 등록을 축하한다는 이메일을 바로 받는 경우가 있다. 이렇게 자동적으로 동적 생성되는 메일들은 우리가 사용하는 Netscape, Mutt 등의 메일 클라이언트를 이용하는 것으로는 가능하지 않다. Netscape이나 Mutt 등의 메일 클라이언트도 자체적으로 메일을 보내는 기능을 갖고 있는 것이 아니라 메일 전송을 해 주는 메일 서버를 이용할 뿐이다. 따라서, 웹과 연동하여 동적으로 메일을 전송하려면 메일 서버를 직접 이용하거나 메일을 보내주는 외부 애플리케이션을 사용해야 한다. 그러나, 이런 방법들은 인터페이스가 프로그래밍하기에 적절하지 않아 불편하다. 프로그래머가 택한 웹 개발 솔루션이 제공하는 각종 함수를 사용하는 것과 동일한 방법으로 메일을 보내고 받을 수 있다면 문제는 해결된다. 이를 위해, 자바는 JavaMail를 제공하고 있다. 이를 이용하면 웹에서 뿐만 아니라, 어떤 자바 코드 내에서도 메일을 보내고 받는 일을 간편하게 할 수 있다.

JavaMail 설치하기

  필요한 것

  • JDK

  • JavaBeans Activation Framework(JAF)

  • JavaMail

웹 환경에서 사용하기 위해 추가적으로 필요한 것(Servlet, JSP에서 쓰기 위해서)

  • 웹서버 (예:Apache)

  • Servlet과 JSP 구동 모듈 (예:JServ + GNUJSP)

  • JSDK

Apache에서 Servlet과 JSP를 사용하기 위한 설치는 WebDox가 제공하는 문서(Jserv 설치, GNUJSP 설치)를 참고하도록 하고, 여기서는 JAF와 JavaMail 설치에 대해서만 언급하겠다. 설치는 매우 간단하다.

  JavaBeans Activation Framework 설치하기

먼저 http://java.sun.com/beans/glasgow/jaf.html에서 JAF를 다운 받는다. 자신의 환경에 맞는 디렉토리(예:/usr/local/jaf)에 압축을 푼다.

  JavaMail 설치하기

http://java.sun.com/products/javamail/index.html에서 JavaMail을 다운 받는다. 자신의 환경에 맞는 디렉토리(예:/usr/local/javamail)에 압축을 푼다.

  CLASSPATH 설정

JDK 디렉토리 아래에 bin/.java_wrapper 라는 파일이 있는데 여기에서 CLASSPATH를 정의하고 있다. 이 CLASSPATH에 JAF와 JavaMail 클래스가 포함되도록 해야 한다. JAF와 JavaMail이 각각 /usr/local/jaf, /usr/local/javamail 디렉토리에 설치가 되어 있다면 bin/.java_wrapper 파일의 중간 부분 CLASSPATH에 /usr/local/javamail/mail.jar와 /usr/local/jaf/activation.jar을 추가한다.

javac나 java 실행 옵션에 위의 두 파일을 CLASSPATH에 추가되도록 주어도 되고, 환경변수 CLASSPATH를 설정해 주어도 된다.

테스트

JavaMail이 설치된 디렉토리 아래의 demo 디렉토리로 이동한다. 여기에 JavaMail 클래스를 사용하는 예제 파일들이 있는데, 이 파일들이 올바르게 컴파일되는지 먼저 테스트 해 본다.

문제없이 컴파일되어 class 파일들이 생겼다면 설치를 올바르게 한 것이다. JDK 버전에 따라 deprecation 관련 warning이 생길 수 있는데 이는 무시해도 좋다. 

이제, 이 예제를 이용하여 메일을 보내보자. 서버에 sendmail이나 qmail과 같은 메일 전송 프로그램이 깔려 있어야 한다. 다른 컴퓨터에 깔려 있는 메일 전송 프로그램을 이용할 수도 있지만, 설정이 복잡하므로 여기서는 같은 머신을 가정하고 설명하겠다.

메일 보내는 예제는 msgsend.java이고 컴파일이 제대로 되었다면 msgsend.class 파일이 생성되어 있을 것이다. msgsend는 기본적으로 SMTP를 이용하므로 메일 서버가 IMAP을 사용한다면 바꾸어 주어야 한다. SMTP를 이용한 메일 전송 프로그램이 깔려 있다면 다음처럼 간단하게 테스트할 수 있다.

실행하면, 받는 사람의 메일 주소와 제목, 본문 등을 표준 입력으로 입력하도록 하는데 양식은 unix의 mail을 실행시켰을 때와 같다. 적당히 입력한 후, 기입한 메일 주소로 메일이 보내지면 제대로 설치가 되었으며, 자바 코드 내에서 메일 관련 작업을 할 준비가 모두 끝났다. 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  106 명