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

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

 
JavaMail 파일첨부메일
조회 : 5,198  




2000-12-22 kenu


JavaMail 패키지 demo 에 보면 좋은 예제들이 많이 있습니다. 이번 예제도 그중 sendfile.java라는 소스를 jsp로 옮긴 것입니다. 크게 어려운 것은 없습니다. 추가되는 부분이 있습니다. 이미 JavaMail 설치는 다 해놓으셨죠? 그런 줄 알고 넘어가겠습니다. 안하신 분들은 위쪽에 클릭해서 읽어보시고 설치할 것이 있습니다. JAF 랑 JavaMail...

소스는 다음과 같습니다.

sendfile.jsp
<%@ page contentType = "text/html; charset=euc-kr" %>
<%@ page import="java.util.*,java.io.*,javax.mail.*,
javax.mail.internet.*,javax.activation.*" %> <% String msgText = "This is a message include file. 파일 첨부 메시지입니다.."; String msgSubj = "JavaMail 파일첨부메일입니다."; msgText = new String(msgText.getBytes("euc-kr"),"8859_1"); msgSubj = new String(msgSubj.getBytes("euc-kr"),"8859_1"); String to = "kenu@okjsp.pe.kr"; String from = "heogn@hotmail.com"; String host = "localhost"; String filename = "C:/AUTOEXEC.BAT"; // create some properties and get the default Session Properties props = new Properties(); props.put("mail.smtp.host", host); Session sess = Session.getDefaultInstance(props, null); try { // create a message Message msg = new MimeMessage(sess); msg.setFrom(new InternetAddress(from)); InternetAddress[] address = {new InternetAddress(to)}; msg.setRecipients(Message.RecipientType.TO, address); msg.setSubject(msgSubj); // create and fill the first message part MimeBodyPart mbp1 = new MimeBodyPart(); mbp1.setText(msgText); // create the second message part MimeBodyPart mbp2 = new MimeBodyPart(); // attach the file to the message FileDataSource fds = new FileDataSource(filename); mbp2.setDataHandler(new DataHandler(fds)); mbp2.setFileName(fds.getName()); // create the Multipart and its parts to it Multipart mp = new MimeMultipart(); mp.addBodyPart(mbp1); mp.addBodyPart(mbp2); // add the Multipart to the message msg.setContent(mp); msg.setSentDate(new Date()); Transport.send(msg); out.println(host+"를 통해 "+filename+"을 발송했습니다. ^_^"); } catch (MessagingException mex) { out.println(mex.getMessage()); out.println(host+"접속에 문제가 생겼네요. 발송하지 못했습니다."); } %>

빨간색 부분이 추가된 부분입니다. filename 에는 physical path(하드상에서의 파일 위치)를 정해주어야 합니다. form을 이용해서 파일을 전달 받는 것은 지금 열심히 찾고 있습니다. 초보의 길 험난하기만 합니다. 이 소스는 자동메일 보낼 때 파일 첨부해주는 기능이 필요하다면 그 때 사용하시면 됩니다.

win2000 + IIS + tomcat 에서 테스트해 본 소스입니다. 혹시 form으로 파일 전송하는 법 아시는 분은 알려주시면 제가 상당히 고맙겠습니다. jspSmartUpload를 사용해도 되겠지만, 그건 서버에 업로드된 다음에 서버에서 전송하는 법으로 구현해야 될 것 같아서요. 그리고 시간내서 jspSmartUpload 사용법도 강좌(?)로 올릴께요. 초보에게는 도움이 되겠죠.

한가지 더 소스분석은 설명하지 않을게요. 보시면 다 감 잡으실 것 같네요. api 좀 더 뒤져서 저도 정리가 되면 설명을 올리도록 할텐데, 돌아가는 소스, 더 분석할 것 같지가 않네요. 제가 절 조금 알죠.

그리고, form 으로 파일첨부해서 전송하려면 form tag안 ENCTYPE="multipart/form-data" 부분이 들어가야합니다. 다음 강좌에서 자세히 다루겠습니다. 그럼 이만...

 

참고 : javamail1.2 pakage의 demo/sendfile.java
http://java.sun.com/products/javamail/index.html

kenu: kenu@okjsp.pe.kr
http://okjsp.pe.kr


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


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

 
(주) 수퍼유저

 
   
 


『신개념 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
펴낸곳(주)수퍼유저

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