자기 혐오 개발자
[Java] Javax Mail 작동하는 코드 [출처] [Java] Javax Mail 작동하는 코드 본문
굵은 글자는 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_ID, MAIL_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,JSP' 카테고리의 다른 글
수정된 jsp 파일이 적용되지 않을때. (0) | 2018.05.29 |
---|---|
[Java]스프링 트랜잭션 Working Code (0) | 2018.05.21 |
[Java] Velocity. 스프링에 적용 (0) | 2018.05.18 |
[Java]redirect된 url 가져오기. (0) | 2018.05.18 |
[Java] Velocity 2탄. 스프링에 적용 [출처] [Java] Velocity 2탄. 스프링에 적용 (0) | 2018.05.15 |