JSP °­Á > JavaMail > ¸ÞÀϸµ¸®½ºÆ®
csv ÆÄÀÏÀ» ÀÌ¿ëÇÑ ¸ÞÀϸµ ¸®½ºÆ®

2001-03-31 kenu


csv, ¹«½¼ ¶æÀ̰Կä. comma separated version Äĸ¶·Î ±¸ºÐµÈ ÆÄÀÏÀÔ´Ï´Ù. ¾î¶»°Ô ¸¸µå³Ä±¸¿ä? ¸Þ¸ðÀåÀ¸·Î ¸¸µé°Å³ª, excel·Î ¸¸µé°Å³ª ÇÏ¿©°£ ½±°Ô ¸¸µé ¼ö ÀÖ½À´Ï´Ù. db¿¡ ÀÖ´Â °ÍµéÀ» ±×³É Äĸ¶·Î ±¸ºÐÇØ¼­ Ãâ·ÂÇØ¼­ ÀúÀåÇØµµ µË´Ï´Ù.

db¿¡ ÀÖ´Â ¸ñ·ÏÀ» ÀÌ¿ëÇØ¼­ ¸ÞÀϸµ¸®½ºÆ®¸¦ ±¸ÇöÇÑ´Ù¸é, ¹ø°Å·Î¿î °ÍÀÌ ³Ê¹« ¸¹½À´Ï´Ù. dbµµ ¼³Ä¡ÇؾßÁö, ¼¼ÆÃÇØ¾ßÁö, jdbc ¼³Á¤ÇØÁà¾ß µÇÁÒ, °Å±â´Ù°¡ ¸ÞÀϸµ Àü¼ÛÇÏ´Â µ¿¾È db¸¦ ²Ë ºÙÀâ°í À־ ºÎÇϵµ ÁÖÁÒ.

csv ÆÄÀÏÀ» ÀÌ¿ëÇϸé ÀÏ´Ü ¸ñ·Ï¸¸ text·Î ÀúÀåÇØ ³õÀ¸¸é µË´Ï´Ù. ¾Æ¿ô·è express ÀÇ ÁÖ¼Ò·Ï¿¡ ÀÖ´Â »ç¶÷µéµµ ÆÄÀÏ>³»º¸³»±â ¸¦ º¸½Ã¸é csv Çü½ÄÀ¸·Î ÆÄÀÏÀ» »ý¼ºÇÒ ¼ö ÀÖµµ·Ï µÇ¾îÀÖ½À´Ï´Ù.

¸ÞÀϸµ ¸®½ºÆ®¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯´Â ´Ù¸¥ »ç¶÷ÀÇ emailÁÖ¼Ò¶û ¼¯¿©¼­ ¸ÞÀÏÀÌ °¡Áö ¾Êµµ·Ï Çϱâ À§Çؼ­ÀÔ´Ï´Ù. ^^; Àß ¾Æ½Ã´Â ³»¿ëÀÌÁÒ.

±×·³ »ùÇà ÆÄÀÏ µîÀåÇÕ´Ï´Ù. maillist.csv ·Î ÀúÀåµÈ ÆÄÀÏÀÌ°í ³»¿ëÀº ´ÙÀ½°ú °°½À´Ï´Ù.

[¼Ò½ºÆÄÀÏ ´Ù¿î¹Þ±â]

maillist.csv

Ç㱤³²,kenu@okjsp.pe.kr
ÀÌ´Þ´Ô,moon888@hanmail.net
Ç㿹ºó,yevin71@hotmail.com
Ç㱤³²2,heogn@hanmail.net
Ç㱤³²3,heogn@shinbiro.com
Ç㱤³²4,heogn@yahoo.co.kr
Ç㱤³²5,heogn@popsmail.com
Ç㱤³²6,heogn@netsgo.com
Ç㱤³²7,heogn@netian.com
Ç㱤³²8,heogn@orgio.net
Ç㱤³²9,gnheo@korea.com
Ç㱤³²10,heogn@hotmail.com

Çä, Á¦ ¸ÞÀÏÁÖ¼Ò°¡ 10°³°¡ ³Ñ³×¿ä. ´Ù ¾²³Ä±¸¿ä? ^^; ´Ù ¾¹´Ï´Ù. ´Ù ÇÕÄ¡¸é 100¸Þ°¡ ÈξÀ ³ÑÀ» °Ì´Ï´Ù. ^^; ¿å½Éµµ ¸¹´Ù±¸¿ä? netsgoÇϰí okjsp »©°í´Â ´Ù °øÂ¥ÁÒ. ¸ÞÀϸµ Å×½ºÆ® ÇÏ½Ç ¶§, ÁÁÀº ¸»¾¸ ÇÑ ±¸Àý ½á¼­ º¸³»ÁÖ¼¼¿ä. ¾Æ´Ï¸é ÀÚ½ÅÀÇ ¸ÞÀÏÁÖ¼Ò 2~3°³ Áý¾î³Ö°í Å×½ºÆ®¸¦ ÇϽñ¸¿ä. ¸ÞÀϸµÀ» À߸ø ÀÌ¿ëÇØ¼­ ½ºÆÔÀ¸·Î ÆÇÁ¤ÀÌ µÇ¸é ¹ýÀûÀ¸·Î ¸¹ÀÌ ºÒ¸®ÇØ Áý´Ï´Ù. ±×·¯´Ï Á¶½ÉÇØ¼­ »ç¿ëÇϽô °ÍÀÌ ÁÁ½À´Ï´Ù.

ÀÌ maillist.csv ÆÄÀÏÀ» c:/jsphome/mlist/maillist.csv ¿¡ À§Ä¡½Ãŵ´Ï´Ù. ¾Æ¹« °÷¿¡³ª ³öµµ ±¦Âú½À´Ï´Ù¸¸ ÆÄÀÏÀÇ Àý´ë°æ·Î¸¦ ²À ±â¾ïÇϽʽÿÀ. À§Ä¡ °ªÀ» ¹Ù²ãÁà¾ß Çϴϱî¿ä.

¸ÞÀϳ»¿ëÀ» ÀÔ·ÂÇÏ´Â ¼Ò½º´Â ´ÙÀ½°ú °°½À´Ï´Ù.

maillist0.jsp

<html>
<head>
<title>¸ÞÀϸµ¸®½ºÆ® Àüü¸ÞÀϺ¸³»±â</title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<script language="javascript">
function preview(n) {
var nw = window.open('about:blank','prevw','width=600,height=400,resizable=yes,scrollbars=yes');
nw.document.writeln(form1.mailsubj.value);
nw.document.writeln('<hr noshade size=1>');
nw.document.writeln(form1.mailbody.value);
nw.document.writeln('<hr noshade size=1><div align=right><a href="#" onClick="self.close()">â´Ý±â</a></divss>');
nw.focus();
}

function lastcheck(n) {
if (n.mailbody.value.length<10) {
alert("³»¿ëÀÌ ³Ê¹« ª½À´Ï´Ù.");
return false;
}
return confirm("Àüü ¸ÞÀÏÀ» º¸³»½Ã°Ú½À´Ï±î?");
}
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<p>¸ÞÀϸµ¸®½ºÆ® Àüü¸ÞÀϺ¸³»±â</p>
<form name="form1" method="post" action="maillist1.jsp" onSubmit="return lastcheck(this)">
<p>
Á¦¸ñ:<input type="text" name="mailsubj" size="66" ><br>
<textarea name="mailbody" cols="70" rows="16" wrap="VIRTUAL"></textarea>
<br>
¸ÞÀÏ¿¡ Æ÷ÇԵǴ À̹ÌÁö´Â À¥¿¡¼­ÀÇ Àüü °æ·Î¸¦ Àû¾îÁÖ¾î¾ß ÇÕ´Ï´Ù.<br>
¿¹:) http://www.okjsp.pe.kr/images/okjsp_01.gif</p>
<p align="center">
<input type="button" name="Button" value="¹Ì¸®º¸±â" onClick="preview(this)">
<input type="submit" name="Submit" value="Àüü¸ÞÀϺ¸³»±â">
</p>
</form>
<p>&nbsp; </p>
</body>
</html>

preview(n) ÇÔ¼ö´Â º¸³¾ ¸ÞÀÏÀÇ htmlÀÌ Àß ¹èÄ¡µÇ¾î ÀÖ³ª »õ âÀ» ¶ç¿ö¼­ º¼ ¼ö ÀÖ°ÔÇØÁÝ´Ï´Ù. ¹Ì¸®º¸±â ¹öưÀ» ´©¸£¸é ±â´ÉÇÏ´Â ÀÚ¹Ù½ºÅ©¸³Æ® ÀÔ´Ï´Ù.

lastcheck(n) ÇÔ¼ö´Â ¸ÞÀÏÀÇ ³»¿ëÀÇ ±æÀÌ¿Í º¸³»±â Àü¿¡ ¸¶Áö¸·À¸·Î È®Àθ޽ÃÁö¸¦ ¶ç¿ì´Â ±â´ÉÀ» ÇÏ´Â javascript ÀÔ´Ï´Ù.

À̰ÍÀº jsp ÇÏ°í ¹®¹ýÀÌ ´Ù¸£´Ï±î¿ä. Á¦¹ß Çò°¥¸®Áö ¸¶¼¼¿ä. javascript´Â À¥ºê¶ó¿ìÀú¿¡¼­ ½ÇÇàµÇ´Â ÇÁ·Î±×·¥À̰í, jsp´Â À¥¼­¹ö¿¡¼­ ½ÇÇàµÇ´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù. µû¶ó¼­ ÇÑ ÆÄÀÏ ¾È¿¡¼­ javascript º¯¼ö¿Í jspº¯¼ö°¡ °ªÀ» ¼­·Î ÁÖ°í¹ÞÀ» ¼ö ¾ø½À´Ï´Ù. jspº¯¼ö°¡ °®°í ÀÖ´Â °ÍÀ» javascriptÂÊÀ¸·Î Àü´ÞÇÒ ¼ö ÀÖÁö¸¸ javascript °¡ °®°í ÀÖ´Â °ªÀ» jspº¯¼ö¿¡ ³Ö¾îÁÖ·Á¸é ÆäÀÌÁö reloadÀ̳ª ÀüȯÀÌ ÇÊ¿äÇÕ´Ï´Ù. ³ªÁß¿¡ ´õ ÀÚ¼¼È÷ ¾ê±âÇÏÁÒ. Ãʺ¸µéÀÇ °¡Àå ºó¹øÇÑ ½Ç¼ö Áß¿¡ Çϳª¶ó¼­ ¿©±â¼­ Çѹø ¸»À» ²¨³»ºÃ½À´Ï´Ù.

µå¸²À§¹ö³ª ³ª¸ð·Î ¿¹»Ú°Ô ÀÛ¼ºÀ» ÇÑ À¥ÆäÀÌÁö ¼Ò½º¸¦ ¿©±â¿¡ ºÙ¿©³Ö¾îµµ ÁÁ½À´Ï´Ù. ´Ù¸¸ ÀÌ ¸ÞÀϸµ¸®½ºÆ® ¼Ò½º´Â ÆÄÀÏÀ» ÷ºÎÇÏÁö ¾Ê½À´Ï´Ù. °¢ÀÚ ±âÈ£¿¡ ¸Â°Ô ¸¶À½´ë·Î ¼öÁ¤Çϼŵµ ÁÁ½À´Ï´Ù. Áö³­ °­Á Âü°íÇÏ½Ã¸é °¡´ÉÇÒ °Ì´Ï´Ù. ±×¸®°í, img °æ·Î´Â full urlÀ» ½áÁÖ¼¼¿ä.

http://www.okjsp.pe.kr/images/okjsp_01.gif

ÀÌ·± ½ÄÀ¸·Î¿ä. ¹°·Ð ±× À§Ä¡¿¡ ÆÄÀÏÀÌ ÀÖ¾î¾ß°ÚÁÒ.

¸¶Áö¸·À¸·Î ó¸®ÇØÁÖ´Â ÆÄÀÏÀÔ´Ï´Ù. maillist.csv ÆÄÀÏÀ» Àо ÇÑ»ç¶÷¾¿ ¸ÞÀÏÀ» º¸³»´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù. maxi74@hanmail.net ´ÔÀÇ µµ¿òÀ¸·Î ½±°Ô ¸ÞÀÏÁÖ¼Ò¿Í À̸§ÀÌ ÇѲ¨¹ø¿¡ °©´Ï´Ù.
[°ü·Ã ±Û] http://board16.free.cgiserver.net/CrazyWWWBoard.cgi?mode=read
&num=763&db=heogn01b&backdepth=1

¼Ò½º¿¡ ¼³¸íÀ» ÇØ³õ¾Æ¼­ µû·Î ¼³¸íµå¸®Áö´Â ¾Ê°Ú½À´Ï´Ù.

maillist1.jsp

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

// ¸ÞÀÏ »ó¼ö
String from = "kenu@okjsp.pe.kr";
String fname = "Ç㱤³²";
String host = "localhost";

// ¸ÞÀÏ Á¦¸ñ,³»¿ë
String mailSubj = request.getParameter("mailsubj");
String msgText = request.getParameter("mailbody");
mailSubj = new String(mailSubj.getBytes("8859_1"),"euc-kr");
msgText = new String(msgText.getBytes("8859_1"),"euc-kr");


Message msg = null;

// ÇÁ·ÎÆÛƼ °ª ÀνºÅϽº »ý¼º°ú ±âº»¼¼¼Ç(SMTP ¼­¹ö È£½ºÆ® ÁöÁ¤)
Properties props = new Properties();
props.put("mail.smtp.host", host);

Session sess = Session.getDefaultInstance(props, null);

// csv ÆÄÀÏ ÀоîµéÀ̱â
FileReader testRead;
testRead = new FileReader ("c:/jsphome/mlist/maillist.csv");
int tempChar;
StringBuffer sbuf = new StringBuffer();
String tmp = "", tname = "", to = "";
int i = 0;

// StringBuffer sbuf ¿¡ ÀúÀå
do {
tempChar = testRead.read();
if (tempChar == -1) break;
sbuf.append((char)tempChar);
} while(true);

// StringBuffer ¸¦ ÇÑÁÙ¾¿ ²÷¾î Àаí ',' ±¸ºÐÇØ¼­ ¼øÂ÷ÀûÀ¸·Î ¸ÞÀϺ¸³»±â
StringTokenizer sto = new StringTokenizer(sbuf.toString(),"\n");
while(sto.hasMoreElements()) {
tmp = sto.nextElement().toString();
i = tmp.indexOf(",");
tname = tmp.substring(0,i);
to = tmp.substring(i+1);
out.println(to+"<br>");

// ¸ÞÀÏ º¸³»±â
try {
// create a message

InternetAddress[] address = {new InternetAddress(to)};
InternetAddress fadd = new InternetAddress();
fadd.setAddress(from); // º¸³»´Â »ç¶÷ email
fadd.setPersonal(fname,"EUC-KR"); // º¸³»´Â »ç¶÷ À̸§

msg = new MimeMessage(sess);
msg.setFrom(fadd);
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(mailSubj);
msg.setSentDate(new Date());
msg.setContent(msgText,"text/html;charset=euc-kr"); // HTML Çü½Ä

Transport.send(msg);

} catch (MessagingException mex) {
out.println(mex.getMessage());
out.println(host+"Á¢¼Ó¿¡ ¹®Á¦°¡ »ý°å³×¿ä.\n¹ß¼ÛÇÏÁö ¸øÇß½À´Ï´Ù.");
} // end try

} // end while

%>
<hr><a href='http://www.okjsp.pe.kr'>www.okjsp.pe.kr</a>


¿À´Ã °­Á À̸¸ÇÏ¸é µÇ°ÚÁÒ. Àß ¾²¼¼¿ä.

 

Âü°í : javamail1.2 pakageÀÇ demo/sendfile.java
http://java.sun.com/products/javamail/index.html

kenu: heogn@shinbiro.com
http://okjsp.pe.kr

back
°ü·Ã °­ÁÂ
¢¹JavaMail ¼³Ä¡
¢¹JavaMail »ç¿ë ¿¹Á¦
¢¹ÆÄÀÏ÷ºÎ ¸ÞÀÏ
¢¹SMTP¼­¹ö¼³Ä¡; windows 2000 ¿¡¼­ STMP ¼­¹ö »ç¿ëÇØ¼­ ¸ÞÀϺ¸³»±â
since 2000/12/05