Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

자기 혐오 개발자

[Java] Javax Mail 작동하는 코드 [출처] [Java] Javax Mail 작동하는 코드 본문

Java,JSP

[Java] Javax Mail 작동하는 코드 [출처] [Java] Javax Mail 작동하는 코드

올라치노 2018. 5. 15. 23:17

굵은 글자는 Properties에 정의하고 가져온다.                  



                         // 메일 전송시 사용.

Properties props = new Properties();

props.put("mail.smtp.auth", "true");

props.put("mail.smtp.starttls.enable", "true");

props.put("mail.smtp.host", MAIL_SMTP_SERVER); // 서버주소. ex)smtp.머머머.com

props.put("mail.smtp.port", MAIL_SMTP_PORT);   // 포트 번호.


props.put("mail.smtp.starttls.enable", "true");

props.put("mail.smtp.ssl.trust", MAIL_SMTP_SERVER);

 

props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

props.put("mail.smtp.socketFactory.fallback", "false");

props.put("mail.smtp.socketFactory.port", MAIL_SMTP_PORT);


Session session = Session.getInstance(props, new javax.mail.Authenticator() {

protected PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication(MAIL_SMTP_IDMAIL_SMTP_PW); // 아이디와 패스워드.

}

});


MimeMessage message = new MimeMessage(session);

// 보내는 사람.

message.setFrom(new InternetAddress(보내는 메일));

logger.info(" vo.getInquiry_email() = " + vo.getInquiry_email() );

message.setRecipient(Message.RecipientType.TO, new InternetAddress(받는 메일));

  // 벨로시티 적용시.

VelocityEngine velocityEngine = new VelocityEngine();

//

velocityEngine.setApplicationAttribute("javax.servlet.ServletContext",

request.getSession().getServletContext());

Properties properties = new Properties();

properties.setProperty("resource.loader", "webapp");

properties.setProperty("webapp.resource.loader.class",

"org.apache.velocity.tools.view.WebappResourceLoader");

properties.setProperty("webapp.resource.loader.path", TEMPLATE_LOCATION); // 템플릿 파일 위치.

velocityEngine.init(properties);


VelocityContext velocityContext = new VelocityContext();

velocityContext.put("mail_name", vo.getCompany_name());

velocityContext.put("mail_content", vo.getReply_content());

StringWriter stringWriter = new StringWriter();


// 메일 템플릿 저장된 곳에서 파일을 가져온다.

Template template = velocityEngine.getTemplate(File.separator + MAIL_TEMPLATE, "UTF-8");

template.merge(velocityContext, stringWriter);

logger.info(" template = " + stringWriter.toString());


message.setSubject(vo.getMail_title());

// message.setText(메일내용);

message.setContent(stringWriter.toString(), "text/html; charset=utf-8"); // HTML코드 파싱한다.


Transport.send(message);



블로그 이전 작업 중...

[출처] [Java] Javax Mail 작동하는 코드|작성자 Fuck SI