다음 포스팅을 참조 하세요.
James 메일 서버 구축하기.
if 모두 다 햇는데 다음과 같은 에러 화면이 뜬다면 100% 메일 서버가 구축이 않되잇는겁니다. -_-
else if 방화벽 포트를 25번 포트를 열어주세요. 그래도 않된다면..A/S 신청을;;;
(javax.servlet.ServletException: Could not connect to SMTP host: localhost, port: 25)
메일 서버가 구축이 되었다면 이제 메일 라이블러리를 통해서 간편하게 메일을 전송할수 있는 JSP파일을 만들어봅니다.
1. 라이블러리 다운~
JAF(JavaBeans Activation Framework) 와 JavaMail 이 필요합니다.
JAF 다운로드 : http://www.oracle.com/technetwork/java/jaf11-139815.html
javaMail 다운로드 : http://www.oracle.com/technetwork/java/index-138643.html
2. 다운로드 받은 파일들의 압축을 풀면 mail.jar 파일과 activation.jar 파일이 있습니다.
이 파일들을 Tomcat 의 common\lib 폴더로 복사합니다.(사실 어디에 있든 상관은 없지만 Tomcat 의 lib폴더는 서버 시작시 모든 라이블러리를 읽어오기 때문에 이곳에 두는게 가장 간편합니다.)
이클립스에서 해당 파일들을 Build Path를 잡아둡니다.
해당 프로젝트 폴더를 클릭하고 오른쪽 마우스 -> Properties 를 클릭합니다.
3. Java Build Path -> Libaraies -> Add External JARs.. 를 클릭합니다.
4. 복사해둔 폴더에서의 가져올 activation.jar, mail.jar 파일을 클릭하고열기!
5. 혹시 모르니 Order and Export 탭 를 선택하고 가져온 라이블러리를 위로 살짝 땡겨 줍니다.(up 버튼을 눌러주면 됩니다.) 참고로 상위단에 있을수록 가장 먼저 참고하게 됩니다.
기본 설정은 끝. 이제 JSP 파일만 작성해 주면 됩니다.
6. SendEmail.jsp
pageEncoding="EUC-KR"%>
<%@ page import="java.util.*,java.io.*,javax.mail.*,javax.mail.internet.*,javax.activation.*" %>
<%
String subject = request.getParameter("subject")==null?"":request.getParameter("subject");
String content = request.getParameter("content")==null?"":request.getParameter("content");
String from = request.getParameter("from")==null?"":request.getParameter("from"); //보내는 사람
String to = request.getParameter("to")==null?"":request.getParameter("to"); //받는 사람
if(from.equals("") || to.equals("") || content.equals("") || subject.equals("")){
System.out.println("메일 전송 실패");
}else{
// 프로퍼티 값 인스턴스 생성과 기본세션(SMTP 서버 호스트 지정)
Properties props = new Properties();
Session sess= Session.getDefaultInstance(props, null);
Message msg = new MimeMessage(sess);
msg.setFrom(new InternetAddress(from));//보내는 사람 설정
InternetAddress address = new InternetAddress(to);
msg.setRecipient(Message.RecipientType.TO, address);//받는 사람설정
msg.setSubject(subject);//제목 설정
msg.setSentDate(new java.util.Date());//보내는 날짜 설정
msg.setContent(content,"text/html;charset=euc-kr"); // 내용 설정 (HTML 형식)
Transport.send(msg);//메일 보내기
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>메일 보내기 TEST</title>
</head>
<body>
<form action="sendEmail.jsp">
제목 : <input type="text" width="20px" name="subject"/><br>
보내는 사람 : <input type="text" width="20px" name="from"/><br>
받는 사람 : <input type="text" width="20px" name="to"/><br>
내용<br>
<textarea rows="5" cols="30" name="content"></textarea>
<input type="submit" name="button" value="전송">
</form>
</body>
</html>
7. 설치한 mail 서버를 실행한 상태에서 전송 버튼을 눌르셔야 합니다. 아니면 에러가 납니다.
8. 메일이 잘 왔는지 확인~!
오호! 잘왔습니다! ㅋㅋ 이제 메일 주소를 잘 넣었는지. 스크립트는 않들어갔는지 등등 파일 전송도 있겠군요.
여러명에게 전송하는 것도 필요하고요. 메일의 기본적인 걸 만들려면 아직도 멀었네요.
가장 기초적인 전송부분만 제공되는 라이블러리를 통해서 만들어보았습니다.
'web > JSP' 카테고리의 다른 글
이클립스 서버 오류 (Could not load the Tomcat server configuration ...) (6) | 2011.10.06 |
---|---|
javascript replaceall (0) | 2011.09.30 |
James 메일 서버 구축하기. (9) | 2011.06.06 |
org.xml.sax.SAXParseException: 문자 변환 오류: "Unconvertible UTF-8 character beginning with 0xa4" (줄 번호가 너무 낮을 수 있습니다). (0) | 2011.05.05 |
JSP stack (2) | 2011.05.04 |