메뉴 건너뛰기

조회 수 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
번호 제목 날짜 조회 수
151 자바 클래스와 메서드 2023.02.15 77
150 조건문과 제어문 2023.02.15 61
149 Singleton Pattern 과 DeadLock file 2023.02.15 75
148 자바 Thread dump file 2023.02.15 58
147 request header 로부터 접속 정보 확인 file 2023.02.15 85
146 자바 extends Thread, implements Runnable 차이 file 2023.02.15 77
145 자바 쓰레드 예제 및 사용 이유 알아보기 file 2023.02.15 73
144 자바 초기화는 무슨 뜻이고 왜 해야할까? file 2023.02.15 84
143 자바 extends, implements 차이점 알아보기 file 2023.02.15 75
142 자바 생성자란 무엇인가? file 2023.02.15 61
141 자바 필드, 멤버 변수, 전역 변수는 같은 말? file 2023.02.15 74
140 자바 클래스, 객체, 인스턴스 구분하기 file 2023.02.15 52
139 자바 객체화(인스턴스화) 알아보기 file 2023.02.15 69
138 자바 this, super 차이 알아보기 file 2023.02.15 72
137 자바 오버라이드, 오버로드 차이 알아보기 file 2023.02.15 70
136 자바 Statement PreparedStatement 차이 알아보기 file 2023.02.15 53
135 자바 메소드(Method)란 무엇인가? file 2023.02.15 78
134 자바에서 문자열 비교 시 == 가 아닌 equals를 써야하는 이유 file 2023.02.15 114
133 자바 배열 복사하는 방법 file 2023.02.15 63
132 자바 int 값 자리수 구하기 file 2023.02.15 74
Board Pagination Prev 1 2 3 4 5 6 7 8 Next
/ 8

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved