qmail , javamail ¸¦ ÀÌ¿ëÇØ ¸ÞÀÏ °¡Á®¿À±â
ÇöÀç ¸®´ª½º·¡µåÇÞ9.0, qmail, apache,tomcat,mysql¸¦ »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù.
±×·±µ¥ À̳ðÀÇ ÀÚ¹Ù¸ÞÀÏ ¶§¹®¿¡ ¹ÌÄ¡°Ú½À´Ï´Ù.
outlook ¿¡¼´Â pop3¸¦ ÅëÇØ ¸ÞÀÏÀ» Àß °¡Á®¿É´Ï´Ù.
±×·±µ¥ ÀÚ¹Ù¸ÞÀÏ¿¡¼´Â ¸ÞÀÏÀÌ ÀÖÀ» °æ¿ì¿¡´Â ¿¡·¯°¡ ³³´Ï´Ù.
¸ÞÀÏÀÌ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é ¿¬°áÀÌ ¼º°øÇϴµ¥, ±× ÀÌÀ¯¸¦ ¸ð¸£°Ú½À´Ï´Ù.
´ÙÀ½Àº Å×½ºÆ®¸ÞÀÏjsp ¼Ò½ºÀÔ´Ï´Ù
<%@ page import="javax.mail.*,javax.mail.internet.*,java.io.*,java.util.*" contentType="text/html;charset=euc-kr" %> <% try{ Properties props = System.getProperties(); out.println("aa"); props.put("mail.pop3.host", "host"); out.println("bb"); //PopupAuthenticator popupAuthenticator = new PopupAuthenticator(); //PasswordAuthentication auth = popupAuthenticator.getPasswordAuthentication(); Session sess = Session.getDefaultInstance(props, null); Store store = sess.getStore("pop3"); out.println("cc"); store.connect("host","test","test"); out.println("dd"); Folder folder = store.getFolder("INBOX"); folder.open(Folder.READ_ONLY); out.println("add"); Message message[] = folder.getMessages(); for (int i=0, n=message.length; i<n; i++) { out.println("ee"); Address addr = message[i].getFrom()[0]; String subject = message[i].getSubject(); String content = message[i].getContent().toString(); out.println(addr); out.println(subject); out.println(content); if(message[i].isMimeType("text/plain")){ System.out.println("ÀϹÝÅؽºÆ®¸ÞÀÏÀÔ´Ï´Ù."); out.println("ÀϹÝÅؽºÆ®"); }else if(message[i].isMimeType("multipart/*")) { // ÷ºÎÆÄÀÏÀ϶§ System.out.println("÷ºÎ¸ÞÀÏÀÔ´Ï´Ù."); out.println("÷ºÎ¸ÞÀÏÀÔ´Ï´Ù"); String filename = message[i].getFileName(); if(filename != null){ InputStream in = message[i].getInputStream(); int c = in.read(); FileOutputStream fout = new FileOutputStream(new File(filename)); while(c!=-1){ fout.write(c); } fout.close(); in.close(); } } } folder.close(true); store.close(); out.println("¼º°ø"); }catch(Exception e){ out.println(e); System.out.print(e); } %>
¿¡·¯ ³»¿ëÀº ´ÙÀ½°ú °°½À´Ï´Ù.
org.apache.jasper.JasperException: javax/activation/DataSource
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
:
:
javax.servlet.ServletException: javax/activation/DataSource
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:536)
at org.apache.jsp.mailtest01_jsp._jspService(mailtest01_jsp.java:104)
workÆú´õ¿¡ »ý¼ºµÈ mailtest01_jsp.java104¶óÀÎÀº ´ÙÀ½°ú °°½À´Ï´Ù.
if (pageContext != null) pageContext.handlePageException(t);
¿ä ¶óÀο¡ ÀÚ²Ù ¾Ö·¯°¡ ³ª³»¿ä.
¹¹°¡ À߸øÀÎÁö °¨À» ¸øÀâ°Ú½À´Ï´Ù.
Áö±Ý sendmail ¼³Ä¡Çß´Ù°¡ ¾ÈµÇ¼ ´Ù½Ã qmail ¼³Ä¡ÇÏ°í ¸®´ª½º ¼ÂÆÃÇÏ°í
¸îÀÏ° ÀÌ·¯°í ÀÖ³»¿ä.
¿©·¯ºÐµéÀÇ Á¶¾ðÀ» ºÎŹµå¸®°Ú½À´Ï´Ù.
ªÀº ¼Ò°ßÀÌ¶óµµ ºÎŹµå¸±²²¿ë ^^*
°¨»çÇÕ´Ï´Ù.[/code]
÷ºÎ | ÆÄÀÏ Å©±â |
---|---|
mailtest01_jsp.java.txt | 3.4 KB |
package org.apache.jsp; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.jsp.*; import org.apache.jasper.runtime.*; import javax.mail.*; import javax.mail.internet.*; import java.io.*; import java.util.*; public class mailtest01_jsp extends HttpJspBase { private static java.util.Vector _jspx_includes; public java.util.List getIncludes() { return _jspx_includes; } public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException { JspFactory _jspxFactory = null; javax.servlet.jsp.PageContext pageContext = null; HttpSession session = null; ServletContext application = null; ServletConfig config = null; JspWriter out = null; Object page = this; JspWriter _jspx_out = null; try { _jspxFactory = JspFactory.getDefaultFactory(); response.setContentType("text/html;charset=euc-kr"); pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true); application = pageContext.getServletContext(); config = pageContext.getServletConfig(); session = pageContext.getSession(); out = pageContext.getOut(); _jspx_out = out; out.write("\r\n"); //try{ Properties props = System.getProperties(); out.println("aa"); props.put("mail.pop3.host", "test.test.com"); out.println("bb"); //PopupAuthenticator popupAuthenticator = new PopupAuthenticator(); //PasswordAuthentication auth = popupAuthenticator.getPasswordAuthentication(); Session sess = Session.getDefaultInstance(props, null); Store store = sess.getStore("pop3"); out.println("cc"); store.connect("test.test.com","test","test"); out.println("dd"); Folder folder = store.getFolder("INBOX"); folder.open(Folder.READ_ONLY); out.println("add"); Message message[] = folder.getMessages(); for (int i=0, n=message.length; i<n; i++) { out.println("ee"); Address addr = message[i].getFrom()[0]; String subject = message[i].getSubject(); String content = message[i].getContent().toString(); out.println(addr); out.println(subject); out.println(content); /* if(message[i].isMimeType("text/plain")){ System.out.println("�¼ë?�???�¸ë?�¼ì??�???."); out.println("�¼ë?�???��"); }else if(message[i].isMimeType("multipart/*")) { // 첨ë��???�¼ë?? System.out.println("첨ë�ë©???�???��."); out.println("첨ë�ë©???�???��"); String filename = message[i].getFileName(); if(filename != null){ InputStream in = message[i].getInputStream(); int c = in.read(); FileOutputStream fout = new FileOutputStream(new File(filename)); while(c!=-1){ fout.write(c); } fout.close(); in.close(); } }*/ } folder.close(true); store.close(); out.println("�±ê³µ"); //}catch(Exception e){ // out.println(e.printStackTrace()); //} } catch (Throwable t) { out = _jspx_out; if (out != null && out.getBufferSize() != 0) out.clearBuffer(); if (pageContext != null) pageContext.handlePageException(t); } finally { if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext); } } }