japanese site
온라인강좌책메일다운로드동아리쇼핑기술지원기업정보갤러리동영상 블로그
『신개념 4단계 리눅스기술지원 시스템 공개』

※ 『무료 리눅스 배포판 배송서비스』 ※

 
JavaMail 설치
조회 : 2,569  



김세곤 <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 클래스를 사용하는 예제 파일들이 있는데, 이 파일들이 올바르게 컴파일되는지 먼저 테스트 해 본다.

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

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

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

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


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=602


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
(주) 수퍼유저

 
   
 


『신개념 4단계 리눅스기술지원 시스템 공개』

CentOS 리눅스 전문서적 국내최초출시

 
회사소개 | 보도기사 | 채용안내 | 광고안내 | 이용약관 | 개인정보취급방침 | 책임한계와 법적고지 | 불편사항 신고하기 | 사이트맵
ㅇ 서울 : 서울특별시 강남구 노현로79길 66, 402호(역삼동,청송빌딩)  ㅇ 부산 : 부산광역시 해운대구 우동 1470 에이스하이테크21 914호
ㅇ 대표 : 1544-8128 ㅇ부산직통 : 051-744-0077 ㅇ서울직통 : 02-856-0055 ㅇ FAX : 02-6280-2663
ㅇ 사업자번호 : 128-86-68239 ㅇ 통신판매업 신고번호 : 2013-부산금정-0035호 ㅇ 개인정보책임자 : 이재석
ㅇ 상호명 : (주) 수퍼유저 ㅇ 대표자 : 박성수
Copyright ⓒ (주)수퍼유저. All rights reserved.

 아 이 디
 비밀번호
회원 가입 | 비밀번호 찾기

블로그~
 
▷ 웹개발언어
PHP
JSP
python
기타
책제목
리눅스서버관리실무바이블v3.0


저자 박성수
페이지수 2,032 pages
펴낸곳(주)수퍼유저

리눅스 서버 구축 및 관리에 필요한 거의 모든 부분과 전반적인 실무 기법들을 다루고 있음
책제목
리눅스보안관리실무(2/E)


저자홍석범
페이지수 820 pages
펴낸곳(주)수퍼유저

리눅스 보안에 관련된 내용을 종합적으로 쓴 책. 저자의 명성 그대로 보안관련의 모든 내용이 그대로 담겨져 있다.