<%@page import="java.util.Calendar"%> <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ page trimDirectiveWhitespaces="true" %> <%@ page import="javax.mail.Transport" %> <%@ page import="javax.mail.Message" %> <%@ page import="javax.mail.internet.InternetAddress" %> <%@ page import="javax.mail.Address" %> <%@ page import="javax.mail.internet.MimeMessage" %> <%@ page import="javax.mail.Session" %> <%@ page import="javax.mail.Authenticator" %> <%@ page import="java.util.Properties" %> <%@ page import="utility.SMTPAuthenticator" %> <%@ page import="java.io.*"%> <%@ page import="java.util.GregorianCalendar" %> <% 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"); //받는 사람 String lo = request.getParameter("location"); String client_name = request.getParameter("client_name")==null?"":request.getParameter("client_name");//고객명 String service_code = request.getParameter("service_code")==null?"":request.getParameter("service_code");//service_code if(from.equals("") || to.equals("") || content.equals("") || subject.equals("")){ { System.out.println("메일 전송 실패"); String script=""; out.print(script); } }else{ // 프로퍼티 값 인스턴스 생성과 기본세션(SMTP 서버 호스트 지정) //정보를 담기 위한 객체 생성 Properties props = new Properties(); /* SMTP 서버의 계정설정 NAVER와 할 경우 smtp.naver.com GOOGLE로 할 경우 smtp.gmail.com */ props.put("mail.smtp.host","smtp.gmail.com");// //이하 props 정보는 수정하지 말것(구글 네이버 동일함) props.put("mail.smtp.port", "465");//포트번호 설정(465) props.put("mail.smtp.starttls.enable","true"); //뭔가 사용가능하도록 설정함 props.put("mail.smtp.auth","true");//위와 동 props.put("mail.smtp.debug","true");//디버그 기능 사용 props.put("mail.smtp.socketFactory.port","465");//socketFactory의 포트를 465로 설정 props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");//socketFactory의 클래스 위치 설정 props.put("mail.smtp.socketFactory.fallback","false");//모르겠다. //설정 끝 FileWriter fw=null; try { Authenticator auth = new SMTPAuthenticator(); Session ses = Session.getInstance(props,auth); //메일 전송시 상세한 상황을 콘솔에 출력한다. ses.setDebug(true); MimeMessage msg = new MimeMessage(ses); //제목설정 subject = new String(subject.getBytes("8859_1"),"utf-8"); msg.setSubject(subject,"utf-8"); //보내는사람의 메일주소 Address fromAddr = new InternetAddress(from); msg.setFrom(fromAddr); //받는사람의 메일주소 Address toAddr = new InternetAddress(to); msg.addRecipient(Message.RecipientType.TO, toAddr); //메세지 본문의 내용과 형식, 캐릭터 셋 설정 String content2 = new String(content.getBytes("8859_1"),"utf-8"); msg.setHeader("content-type", "text/html; charset=utf-8"); msg.setContent(content2, "text/html; charset=utf-8"); Transport.send(msg); /*메일저장*/ String loca = ""; if(lo.equals("IdcDepositNonPaymentList")) loca="window.location='IdcDepositNonPaymentList.dep';\n"; else if(lo.equals("IdcReSendMailList")) loca="window.location='IdcReSendMailList.dep';\n"; else if(lo.equals("bill")) loca="history.go(-2);\n"; System.out.println("loca : " + loca); System.out.println("lo : " + lo); Calendar cal = Calendar.getInstance(); String saveDirectory = this.getClass().getResource("").getPath()+"../../../../../../../wtpwebapps/idcProject/SendMailFolder/"; saveDirectory = saveDirectory.replaceAll("%20", " "); String gettime =cal.getTime().toString(); gettime = gettime.replaceAll(" ", "_"); gettime = gettime.replaceAll(":","_"); String client_name2 = new String(request.getParameter("client_name").getBytes("8859_1"),"utf-8"); String path = saveDirectory+"_"+client_name2+"_"+gettime+".txt"; fw = new FileWriter(path); fw.write(content2); String sendData = "service_code=" + service_code + "&client_name=" + client_name2 + "&filepath="+path; String jso = "IdcSendMailSaveJSONCmd.jso"; String script ="\n"; script+=""; out.print(script); } catch(Exception mex) { mex.printStackTrace(); String script=""; out.print(script); return; } finally { fw.close(); //request.getSession().removeAttribute("content"); } } %>