메뉴 건너뛰기

조회 수 32791 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="org.springframework.mail.javamail.JavaMailSender" %>
<%@ page import="org.springframework.mail.javamail.JavaMailSenderImpl" %>
<%@ page import="org.springframework.mail.javamail.MimeMessageHelper" %>
<%@ page import="javax.mail.MessagingException" %>
<%@ page import="javax.mail.internet.MimeMessage" %>
<%@ page import="java.util.Properties" %>
<%@ page import="java.io.File" %>
<%@ page import="javax.activation.DataSource" %>
<%@ page import="javax.activation.FileDataSource" %>
<%
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
MimeMessage message = mailSender.createMimeMessage();

// Properties 설정
Properties props = new Properties();
props.put("mail.smtp.starttls.enable","true");//설정하지 않으면 에러 발생 (아래 참조)

props.put("mail.smtp.auth","true");
props.put("mail.smtp.quitwait","false");
props.put("mail.debug","true"); // 디버그 모드 : 개발이 완료되면 false

mailSender.setJavaMailProperties(props);

mailSender.setProtocol("smtp");
mailSender.setHost("smtp.gmail.com");
mailSender.setPort(587);
mailSender.setUsername("your_gmail_id@gmail.com");
mailSender.setPassword("your_gmail_password");
mailSender.setDefaultEncoding("utf-8");

// 첨부파일
File attachFile = new File("C:"+File.separator+"첨부파일.jpg"); // 첨부파일 경로(C:\첨부파일.jpg)

try {
MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "UTF-8");

if(attachFile != null && attachFile.exists()) {
// 첨부파일 있는 경우
messageHelper.setSubject("테스트 메일 제목[첨부파일]");
messageHelper.setTo(aaaa@hanmail.net); //받는사람
messageHelper.setCc("bbbb@paran.com"); // 참조
messageHelper.setBcc(cccc@nate.com); //숨은참조
messageHelper.setFrom(dddd@gmail.com); // 보내는사람
messageHelper.setText("테스트 메일 [첨부피일]", true);
DataSource dataSource = new FileDataSource(attachFile);
messageHelper.addAttachment(attachFile.getName(), dataSource);
} else {
// 첨부파일 없는경우
messageHelper.setSubject("테스트 메일 제목");
messageHelper.setTo(aaaa@hanmail.net); //받는사람
messageHelper.setCc("bbbb@paran.com"); // 참조
messageHelper.setBcc(cccc@nate.com); //숨은참조
messageHelper.setFrom(dddd@gmail.com); // 보내는사람
messageHelper.setText("테스트 메일 내용", true);
}

mailSender.send(message);

} catch (MessagingException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}

%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
메일 발송 완료
</body>
</html>

스프링 프레임워크에서 GMail smtp 서비스를 이용하여

JSP 간단하게 만들어본 메일 발송 예제

props.put("mail.smtp.starttls.enable","true");를 설정하지 않으면

com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first

Exception 발생하므로 반드시 기재

Propertis 를 스프링 설정파일에서 읽어오도록 수정해 보자.

검색해 보면 널렸다.


List of Articles
번호 제목 날짜 조회 수
71 enum 2016.09.13 3404
70 문자 기반 스트림 2016.09.13 3440
69 쓰레드의 우선순위 2016.09.13 3503
68 파일I/O 개요 file 2016.09.13 3507
67 Jadclipse 플러그인 설치 file 2016.09.19 3512
66 인터페이스와 다형성 2016.09.13 3535
65 File 클래스 file 2016.09.13 3603
64 원하는 패턴의 날짜 구하기 : JAVA 2016.12.09 3608
63 set get 파라미터 2016.08.18 3658
62 새로 만든 모듈의 iBatis 쿼리를 새로운 xml 파일에 만들고 싶다면 이렇게 하자. file 2016.08.29 3664
61 컬렉션 프레임워크 file 2016.09.13 3705
60 JAR 파일 2016.09.19 3713
59 BigDecimal타입의 사칙연산 2016.12.22 3713
58 클래스 메서드와 인스턴스 메서드 2016.09.13 3720
57 [자바(스프링&mybatis&jsp) 프로젝트 & 아파치 &톰켓 연동]3. 이클립스 설치 file 2016.08.18 3756
56 바이트 기반의 스트림 file 2016.09.13 3763
55 static멤버와 관련된 예제 2016.09.21 3768
54 새로 만든 모듈의 iBatis 쿼리를 새로운 xml 파일에 만들고 싶다면 이렇게 하자. file 2016.08.29 3773
53 [자바(스프링&mybatis&jsp) 프로젝트 & 아파치 &톰켓 연동 ] 이클립스 프로젝트 생성 순서07.commons-collection 설치 file 2016.08.18 3845
52 Select statements cannot be executed as an update. 에러 해결방법 file 2016.08.29 3853
Board Pagination Prev 1 2 3 4 5 6 7 8 Next
/ 8

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved