À§¿¡¼ »ìÆìº» Ŭ·¡½ºµéÀ» ±â¹ÝÀ¸·Î, ÆÄÀÏÀ» ÷ºÎÇØ¼ º¸³»´Â ¸ÞÀÏÀ» Æû Çü½Ä°ú ¼ºí¸´À» ÀÌ¿ëÇØ¼ ¸¸µé¾î º¸°Ú½À´Ï´Ù. °£´ÜÇÑ ¸ÞÀÏ º¸³»±â¿¡¼ ¸¸µé¾ú´ø °Í¿¡ ÆÄÀÏ Ã·ºÎ¸¦ À§ÇÑ ºÎºÐÀ» ºÙÀ̰í, Á¤º¸ÀÔ·ÂÀ» À§ÇÑ HTML Æû°ú 󸮸¦ À§ÇÑ ¼ºí¸´À¸·Î ³ª´« °ÍÀÔ´Ï´Ù.
|
sendmail.html |
¸ÞÀϳ»¿ë ÀÔ·ÂÀ» À§ÇÑ Æû¾ç½Ä |
|
| |
|
SendMail.java |
÷ºÎ¸ÞÀÏÀ» ¼Û½Å ÇÏ´Â ¼ºí¸´ |
|
| |
|
C:\jakarta\webapps\MySample\WEB-INF\classes\mail>javac SendMail.java
| |
¸ÕÀú ¿¹Á¦¸¦ ½ÇÇà½ÃŰ¸é °á°ú¿¡¼ º¸µí, ¸ÞÀÏÀ» ÀÛ¼ºÇÏ´Â ÆûÀÌ ³ª¿À°í, ¸ÞÀÏ ³»¿ëÀ» ¸ðµÎ ä¿î ÈÄ Àü¼ÛÀ» ´©¸£¸é, ÀÌ»óÀÌ ¾øÀ» °æ¿ì ¼º°øÀûÀ¸·Î Àü¼ÛµÇ¾ú´Ù´Â ¸Þ½ÃÁö°¡ ³ª¿É´Ï´Ù. ±×¸®°í ÀÚ½ÅÀÇ ¸ÞÀÏ È£½ºÆ®¿¡ °¡¼ È®ÀÎÇÏ¸é ¾Æ·¡ÂÊÀÇ ±×¸²°ú °°ÀÌ ÆÄÀϰú ÇÔ²² ¸ÞÀÏÀÌ Àü¼ÛµÈ °ÍÀ» È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
±×·³ ¼Ò½º¸¦ »ìÆìº¸°Ú½À´Ï´Ù. HTML ºÎºÐÀº Æû ÀÛ¼º ºÎºÐÀÌ´Ï °Ç³Ê¶Ù°í ¼ºí¸´ ºÎºÐÀ» »ìÆìº¸°Ú½À´Ï´Ù.
ÆûÀ¸·Î ³Ñ¾î¿À´Â µ¥ÀÌÅ͸¦ request.getParameter ¸Þ¼µå¸¦ ÅëÇØ¼ ¹Þ½À´Ï´Ù. ±×·±µ¥ ¿©±â¼ ÇѰ¡Áö À¯ÀÇÇÏ½Ç Á¡Àº Á¦¸ñ, ÆÄÀÏÀÇ °æ·Î, ³»¿ëÀ» À§Çؼ ÇѱÛ󸮸¦ ÇØÁÖ¾î¾ß ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ±×¸®°í ÆÄÀÏÀÇ °æ·Î´Â »©°í À̸§¸¸ ÃßÃâÇϱâ À§Çؼ subString ¸Þ¼µå¸¦ »ç¿ëÇß½À´Ï´Ù.
n String file = HangulEncoder.toKSC5601(request.getParameter("file"));
n String fileName = file.substring(file.lastIndexOf("\\"));
n String subject = HangulEncoder.toKSC5601(request.getParameter("subject"));
n String content = HangulEncoder.toKSC5601(request.getParameter("body"));
Session °´Ã¼¸¦ »ý¼ºÇϰí SessionÀ¸·ÎºÎÅÍ MimeMessage °´Ã¼¸¦ ¾ò½À´Ï´Ù.
n Session session = Session.getInstance(prop, null);
n MimeMessage message = new MimeMessage(session);
¸ÞÀÎ Content¿Í ÷ºÎÆÄÀÏÀ» °áÇÕÇϱâ À§ÇÑ Multipart °´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù.
n Multipart multipart = new MimeMultipart();
MimeMessageÀÇ HeaderField To, From, Subject¸¦ ¼³Á¤ÇÑ ÈÄ Main messageÀÇ ³»¿ë ¼³Á¤Çϱâ À§ÇÑ BodyPart°´Ã¼¸¦ »ý¼ºÇÏ°í ³»¿ë(Conent)À» ¼³Á¤ÇÕ´Ï´Ù.
n BodyPart messageBodyPart = new MimeBodyPart();
n messageBodyPart.setText(Content);
¸ÞÀÎ ContentÀÇ ³»¿ë(content)À» multipart¿¡ ´õÇÕ´Ï´Ù.
n multipart.addBodyPart(messageBodyPart);
÷ºÎÆÄÀÏÀ» À§ÇÑ µÎ¹øÂ° BodyPart¸¦ »ý¼ºÇϰí ÷ºÎÆÄÀÏÀ» DataSource ÇüÅ·Π¾ò½À´Ï´Ù.
n DataSource source = new FileDataSource(filename);
¸Þ½ÃÁö¸¦ À§Çؼ DataHandler¸¦ DataSource·Î ¼³Á¤ÇÕ´Ï´Ù. ÷ºÎÇÒ ÆÄÀÏÀ» ¼³Á¤ÇÕ´Ï´Ù.
n messageBodyPart.setDataHandler(new DataHandler(source));
n messageBodyPart.setFileName(filename);
µÎ¹øÂ° Part¸¦ Multipart¿¡ ´õÇÏ°í ¸Þ½ÃÁöÀÇ Content¸¦ ¡®multipart¡¯·Î ¼³Á¤ÇÕ´Ï´Ù.
n multipart.addBodyPart(messageBodyPart);
n message.setContent(multipart);
Àü¼ÛÁ¶°ÇÀ» ¼³Á¤ÇÏ°í ¸Þ½ÃÁö¸¦ Àü¼ÛÇÕ´Ï´Ù.
n Transport transport = session.getTransport("smtp");
n transport.connect(host, id, pass);
n transport.sendMessage(message, message.getAllRecipients());
¸¶Áö¸·À¸·Î transport¸¦ ´Ý¾ÆÁÝ´Ï´Ù.
n transport.close();
ÀÌ·¸°Ô ÆÄÀÏÀ» ÷ºÎÇØ¼ º¸³»´Â °úÁ¤Àº ¾à°£Àº º¹ÀâÇØ º¸ÀÏ ¼ö ÀÖÁö¸¸, multipart¸¸ Àß ÀÌÇØÇϰí ÀÖ´Ù¸é ¾î·ÆÁö ¾Ê°Ô ÀÛ¼ºÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ´ÙÀ½¿¡´Â ¸ÞÀÏÀ» ¼ö½ÅÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼ »ìÆìº¸°Ú½À´Ï´Ù.
| jabookÀúÀÚ¸íÇÔ |
|
Á¦¸ñ:¼Ò¼³°°ÀºJSP2ºÎ ÀúÀÚ:ÃÖ¿µ°ü |