본문 바로가기
language/java

java.mail패키지를 이용한 JSP페이지에서 SMTP서버 메일 전송

by vamalboro 2008. 4. 18.

<%@ page contentType = "text/html; charset=euc-kr" %>
<%@ page import="java.util.*,
   java.io.*,
   javax.mail.*,
   javax.mail.internet.*,
   javax.activation.*" %>
<%

String msgText = "mail content... 한글 메일 내용";
String msgSubj = "E-mail Test subject";

// 아래 인코딩 부분은 환경에 따라 제목의 한글이 깨질 경우 주석을 제거하세요.
// msgSubj = new String(msgSubj.getBytes("euc-kr"),"8859_1");


// 받는이 메일주소
String to   = "virusabum@cyworld.com";
// 보내는이 메일주소
String from = "bhlee@withustech.com";
// Ex) withustech.com 우리 회사 smtp서버이다. 아웃룩을 회사서버로 사용한다면 아웃룩계정설정에 서버정보가 나와있다.
// Ex) String host = "withustech.com";
String host = "mail.smtp.host";

// 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);
 msg.setSentDate(new Date());
 msg.setContent(msgText,"text/html; charset=euc-kr"); // HTML 형식
 // msg.setText(msgText); // TEXT 형식

 Transport.send(msg);
 out.println(host+"를 통해 발송했습니다. ^_^");
} catch (MessagingException mex) {
 out.println(mex.getMessage()+"<br>");
 out.println(host+" 접속에 문제가 생겼네요.\n발송하지 못했습니다.");
}

%>

아주 간단하다 -_-

PS.

local에서 웹서버를 구축하고 실행해 보고자 한다면 윈도우즈의 경우 따로 smtp메일서버를 구축해야 한다.

일단 제어판 - 관리도구에가서 인터넷 정보 서비스(IIS) 구성요소가 설치되있는지 확인

없다면 제어판 - 프로그램 추가/제거 - 윈도우즈 구성요소 추가/제거 - 인터넷 정보 서비스(IIS)

를 설치하여 준다.(윈도우즈 CD필요)

설치 완료후 제어판 - 관리도구 - 인터넷 정보 서비스(IIS) - 기본 SMTP 가상 서버의 속성으로 들어간후
엑세스탭 - 릴레이 - 추가(A) - 단일컴퓨터 선택후 로컬IP 127.0.0.1 입력 - 확인 쭈욱~확인

그리고 시작.-_-




'language > java' 카테고리의 다른 글

Jimi를 이용한 Thumbnail  (2) 2008.04.22
ResourceBundle의 활용  (1) 2008.04.19
exe 파일 만들기  (0) 2008.02.12
Algorism의 복잡도  (0) 2008.01.21
I/O의 기본 개념 & Stream  (0) 2008.01.21