knu project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

93 lines
2.3 KiB

package kr.co.kihyun.mail;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties;
import java.util.StringTokenizer;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
@WebServlet("/servlet/kr.co.kihyun.mail.SendMail")
public class SendMail extends HttpServlet implements Runnable {
/**
*
*/
private static final long serialVersionUID = 1L;
String host = "127.0.0.1";
String sender = "";// 보내는 사람 주소
String receiver = "";// 받는 사람 주소
String topic = "";// 제목
String content = "";// 내용
String mime = "";// 문서 타입
public SendMail() {
}
public SendMail(String sender2, String receiver2, String topic2, String content2, String mime2) {
sender = sender2;
receiver = receiver2;
topic = topic2;
// content= toKR(content2); //한글이 안됨.
content = content2;
mime = mime2;
}
public void run() {
send();
}
public boolean send() {
Properties props = new Properties();
props.put("mail.smtp.host", host);
Session session = Session.getDefaultInstance(props, null);
try {
Message msg = new MimeMessage(session);
String receiver_tmp = "";
StringTokenizer stk = new StringTokenizer(receiver, "/");
int stkCnt = stk.countTokens();
InternetAddress[] address = new InternetAddress[stkCnt];
int i4 = 0;
while (stk.hasMoreTokens()) {
receiver_tmp = stk.nextToken();
address[i4] = new InternetAddress(receiver_tmp);
i4++;
}
msg.setRecipients(Message.RecipientType.TO, address);
msg.setFrom(new InternetAddress(sender));
msg.setSubject(topic);
msg.setSentDate(new Date());
if (mime.equals("text")) {
msg.setText(content); // TEXT형식
} else {
msg.setContent(content, "text/html; charset=UTF-8"); // HTML형식
}
Transport.send(msg);
return true;
} catch (MessagingException e) {
e.printStackTrace();
return false;
}
}
public static String toKR(String str1) throws UnsupportedEncodingException {
if (str1 == null) {
return ("");
}
return (new String(str1.getBytes("latin1"), "KSC5601"));
}
}