koipa_edu_2025-1/src/main/java/kcc/ve/cmm/VeSendMail.java

208 lines
12 KiB
Java

package kcc.ve.cmm;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
public class VeSendMail {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileMngUtil.class);
//================================================================
//찾교 메일 발송 계정 ID, PW 넣는 부분
//테스트를 위한 저작위 공통 계정 ID: no-reply@copyright.or.kr PW: Copycopy12!
//찾교만 추가되어 찾교는 현재 메일발송 안됨_220221
//기존(찾교청소년) ID: school@copyright.or.kr PW: 연수원2669!
//신규(찾교성인) ID: edu@copyright.or.kr PW: Copy0723!
//기존(체험교실) ID: entt@copyright.or.kr PW: edu0213**
//신규(외부협력) ID: cev@copyright.or.kr PW: Copy0723!
//================================================================
//파라미터 정리
//1. sndFlag = 메뉴 구분
// C -> 찾교청소년
// S -> 찾교성인
// G -> 체험교실
// W -> 외부협력
//2. sndTo = 수신자
//3. vEEduAplctVO = eduAplctOrd(pk)
// sndHstryOrd(pk)
// sndCd(10 - sms, 20 - email)
// sndId(발송자)
// sndCn(발송내용)
//================================================================
public String VeSendMail(String sndFlag, String sndTo, VEEduAplctVO vEEduAplctVO, LoginVO loginVO) throws Exception {
String result = "success";
System.out.println("vEEduAplctVO.getClphone1()");
System.out.println(sndFlag);
System.out.println(vEEduAplctVO.getClphone1());
System.out.println(vEEduAplctVO.getClphone2());
System.out.println("vEEduAplctVO.getClphone2()");
try {
System.out.println("수정_2200317_12:46");
Properties props = new Properties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.host", "smtp.gov-dooray.com");
props.put("mail.smtp.port", "465");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.ssl.enable", "true");
// props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.ssl.protocols", "TLSv1");
props.put("mail.smtp.ssl.protocols", "TLSv1.1");
props.put("mail.smtp.ssl.protocols", "TLSv1.2");
props.put("mail.debug", "true");
Authenticator authenticator = new Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication()
{
String id = "no-reply@copyright.or.kr";
String pw = "Copycopy12!";
/*231120 - 성인 교육용 메일 정보 불일치 > 전부 청소년 메일로 우선 사용*/
id = "school@copyright.or.kr";
pw = "dustndnjs2669!";
/*if("C".equals(sndFlag) || "Z".equals(sndFlag)) {
id = "school@copyright.or.kr";
//pw = "연수원2669!";
pw = "dustndnjs2669!";
}else if("S".equals(sndFlag)) {
id = "kedu@copyright.or.kr";
pw = "Copy0723!";
}else if("G".equals(sndFlag)) {
id = "entt@copyright.or.kr";
pw = "edu0213**";
}else if("W".equals(sndFlag)) {
id = "cev@copyright.or.kr";
pw = "Copy0723!";
}else if("UR".equals(sndFlag)) {
id = vEEduAplctVO.getClphone1();
pw = vEEduAplctVO.getClphone2();
}*/
System.out.println(id);
System.out.println(pw);
System.out.println("vEEduAplctVO.getClphone3()");
return new PasswordAuthentication(id,pw);
}
};
Session session = Session.getInstance(props, authenticator) ;
MimeMessage message = new MimeMessage(session);
//메일 내용
String Cn = vEEduAplctVO.getSndCn();
//메일 내용 textarea 작성 시, 메일에 Enter 반영
if(!"".equals(Cn) && Cn != null) {
Cn = Cn.replaceAll("\n", "<br/>");
}
//메일제목
message.setSubject("[한국저작권위원회] 찾아가는 교육서비스_알림");
//발송메일 주소
String fromAddr = "no-reply@copyright.or.kr";
if("C".equals(sndFlag)) {
fromAddr = "school@copyright.or.kr";
}else if("Z".equals(sndFlag)) {
fromAddr = "school@copyright.or.kr";
message.setSubject("[한국저작권위원회] 찾아가는 저작권 교육관련 협조요청 사항");
}else if("S".equals(sndFlag)) {
fromAddr = "kedu@copyright.or.kr";
}else if("G".equals(sndFlag)) {
fromAddr = "entt@copyright.or.kr";
}else if("W".equals(sndFlag)) {
fromAddr = "cev@copyright.or.kr";
//메일제목
message.setSubject("[한국저작권위원회] 저작권 교육콘텐츠 수령 방법 안내");
//메일내용
Cn = "<!DOCTYPE html>\r\n" +
"<html lang=\"ko\">\r\n" +
"<head>\r\n" +
" <meta charset=\"UTF-8\">\r\n" +
" <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\r\n" +
" <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\r\n" +
" <meta name=\"viewport\" content=\"\" />\r\n" +
" <meta name=\"Keywords\" content=\"\" />\r\n" +
" <meta name=\"Description\" content=\"\" />\r\n" +
"</head>\r\n" +
"<body>\r\n" +
" <table align=\"center\" width=\"800\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"border:5px solid rgb(241,89,34);\">\r\n" +
" <tbody>\r\n" +
" <tr>\r\n" +
" <td align=\"left\" bgcolor=\"#ffffff\" style=\"padding:30px 40px 40px;\">\r\n" +
" <a href=\"https://oneid.copyright.or.kr/\" rel=\"noreferrer noopener\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://oneid.copyright.or.kr/&amp;source=gmail&amp;ust=1647666525851000&amp;usg=AOvVaw0ZroUFKmk2_yTWKT0iYs_q\"><img alt=\"한국저작권위원회-통합회원 로고\" src=\"http://copyright.or.kr/offedu/visitEdu/usr/publish/images/common/ci.png\" style=\"width:200px; border:0px currentColor;vertical-align:middle\"></a>\r\n" +
" </td>\r\n" +
" </tr>\r\n" +
" <tr>\r\n" +
" <td align=\"center\" bgcolor=\"#ffffff\" style=\"padding:0 40px 22px;\">\r\n" +
" <p style=\"margin:0;padding:24px;font-family:'Noto Sans KR';line-height:26px;text-align:left;border:3px solid rgb(223,223,223);\">\r\n" +
" 안녕하세요~<br>한국저작권위원회 교육개발팀 조혜진 주임입니다.<br><br>저작권 교육에 관심을 가지고 신청해주셔서 진심으로 감사드립니다.<br><br>메일 하단에 ‘콘텐츠 수령 방법’에 대한 안내 링크가 있습니다.<br>클릭하여 다운로드 후, 안내 방법에 따라 신청하신 동영상 파일을 저장하여 사용하시면 됩니다.<br><br>교육 종료 후에는 ‘수강내역목록-강의이수정보등록’을 통해 이수내용(교육일시/교육인원) 작성 부탁드립니다. 교육이수 확인을 위해 필요한 과정이므로 반드시 등록해주시기 바랍니다.<br><br><span style=\"text-decoration:underline;\">더불어 신규과정으로 마이크로러닝 콘텐츠 6종을 함께 추천해 드립니다.</span><br>마이크로러닝 콘텐츠는 3분 정도의 숏폼 콘텐츠로 학교(초·중·고·대), 공공기관 등을 대상으로 제작한 5종과 가볍게 볼 수 있는 아이스브레이킹 영상 1종으로 구성되어 있습니다.<br><br>교육 시작 전이나 쉬는 시간에 분위기 전환을 위해 활용하시기 좋으며, 관심 있으신 선생님께서는 아래 링크를 통해 신청 부탁드립니다.<br>※ 마이크로러닝 콘텐츠 신청하기: <a href=\"https://www.copyright.or.kr/offedu\" style=\"text-decoration:none;color:#000000;\" target=\"_blank\">https://www.copyright.or.kr/offedu</a><br><br>교육과정 안내 및 콘텐츠 신청과 관련된 추가 문의사항은<br>아래 번호로 연락주시면 상세히 안내해드리도록 하겠습니다.<br><br>감사합니다.<br><br>조혜진 드림<br><br><a href=\"tel:055-792-0217\" style=\"text-decoration:none;color:#000000;\">☎ 055-792-0217</a><br><br><a href=\"https://www.copyright.or.kr/offedu/cmm/fms/FileDown.do?atchFileId=FILE_000000000016280&fileSn=0\" style=\"text-decoration:none;color:red;\"><strong style=\"font-size:20px;color:red\">[클릭하여 다운로드] ‘콘텐츠 수령 방법 안내’</strong></a>\r\n" +
" </p>\r\n" +
" </td>\r\n" +
" </tr>\r\n" +
" <tr>\r\n" +
" <td style=\"padding:60px 0 0;\">\r\n" +
" <table width=\"800\" bgcolor=\"#f8f8f8\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"padding:22px 0;border-top:1px solid #cecece;\">\r\n" +
" <tbody>\r\n" +
" <tr>\r\n" +
" <td align=\"left\" style=\"padding:0 28px;\">\r\n" +
" <a href=\"https://oneid.copyright.or.kr/\" rel=\"noreferrer noopener\" style=\"vertical-align:middle;display:table-cell\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://oneid.copyright.or.kr/&amp;source=gmail&amp;ust=1647666525852000&amp;usg=AOvVaw3aJ4SNBKmUaX89PBd69nPC\"><img alt=\"한국저작권위원회-통합회원 로고\" src=\"https://ci5.googleusercontent.com/proxy/0JqqeL8s5aHiWESa7Hkqq7DoxHF0qGfEGwL3ZsfXSpyh-P9mJolNp4QpMbgMj_A7cR44XGl1C3MdSjQ50oR_vqWDIv87H1E=s0-d-e1-ft#https://oneid.copyright.or.kr/images/mail/f_logo.gif\" style=\"border:0px currentColor;vertical-align:middle\" class=\"CToWUd\"></a>\r\n" +
" </td>\r\n" +
" <td align=\"left\" style=\"font-family:'Noto Sans KR';font-size:15px;letter-spacing:-0.2px;\">\r\n" +
" <p style=\"margin:0px 0px 11px;padding:0px\">본 메일은 발신전용으로 회신하지 않습니다.</p>\r\n" +
" <p style=\"margin:0px;padding:0px\"><span style=\"font-weight:bold\">진주</span> [우 52852] 경상남도 진주시 충의로 19, 1/2/5층. <span>&nbsp;대표번호 : 055.792.0000</span><br> <span style=\"font-weight:bold\">서울</span> [우 04323] 서울특별시 용산구 후암로 107, 5/16층. <span>&nbsp;대표번호 : 02.2669.0010</span></p>\r\n" +
" </td>\r\n" +
" </tr>\r\n" +
" </tbody>\r\n" +
" </table>\r\n" +
" </td>\r\n" +
" </tr>\r\n" +
" </tbody>\r\n" +
" </table>\r\n" +
"</body>\r\n" +
"</html>";
}
InternetAddress fromAddress = new InternetAddress(fromAddr);
InternetAddress toAddress = new InternetAddress(sndTo);
message.setFrom(fromAddress);
message.addRecipient(Message.RecipientType.TO, toAddress );
message.setContent(Cn," text/html; charset=KSC5601");
System.out.println("------------------ 메일발송 시작 ----------------");
Transport.send(message);
System.out.println("------------------ 메일발송 끝 ----------------");
} catch (Exception e) {
e.printStackTrace();
result = "fail";
}
return result;
}
}