Email 발송

Download Report

Transcript Email 발송

구글 애플리케이션 전용 비밀번호 설정
ㅇ 설정 사이트 접속
ㅇ 로그인
구글 애플리케이션 전용 비밀번호 설정
ㅇ 앱 비밀번호 설정 (1 / 4)
구글 애플리케이션 전용 비밀번호 설정
ㅇ 앱 비밀번호 설정 (2 / 4)
구글 애플리케이션 전용 비밀번호 설정
ㅇ 앱 비밀번호 설정 (3 / 4)
구글 애플리케이션 전용 비밀번호 설정
ㅇ 앱 비밀번호 설정 (4 / 4)
메일 발송 자바 코드 작성
ㅇ 필요 라이브러리
- mail.jar
- spring-context-support.jar
메일 발송 자바 코드 작성
Mailer.java (1 / 4) – edu.spring.board.common
public class Mailer extends Authenticator {
private static Mailer instance = null;
public static Mailer getInstance() {
return instance == null ? new Mailer() : instance;
}
/**
* 인증
*/
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(“구글계정", "앱비밀번호");
}
메일 발송 자바 코드 작성
Mailer.java (2 / 4)
/**
* 메일 발송
* @param subject : 제목
* @param content : 내용
* @param receiver : 받는사람 주소
*/
public void sendMail(String subject, String content, String[] receiver) {
// 메일 정보를 담기 위한 객체
Properties p = new Properties();
// SMTP 서버의 계정 설정
p.put("mail.smtp.user", "[email protected]");
// SMTP 서버 정보 설정
p.put("mail.smtp.host", "smtp.gmail.com");
메일 발송 자바 코드 작성
Mailer.java (3 / 4)
// 메일 발송 기본 정보
p.put("mail.smtp.port", "465");
p.put("mail.smtp.starttls.enable", "true");
p.put("mail.smtp.auth", "true");
p.put("mail.smtp.debug", "true");
p.put("mail.smtp.socketFactory.port", "465");
p.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
p.put("mail.smtp.socketFactory.fallback", "false");
try {
// Java Mail 에서 사용할 세션 객체 생성
Session ses = Session.getInstance(p, this);
// 메일을 전송할 때 상세한 상황을 콘솔에 출력
ses.setDebug(true);
// 메일의 내용을 담기 위한 객체
MimeMessage msg = new MimeMessage(ses);
메일 발송 자바 코드 작성
Mailer.java (4 / 4)
MimeMessageHelper helper = new MimeMessageHelper(msg, true);
helper.setSubject(subject); // 제목
helper.setText(content); // 본문 내용
helper.setTo(receiver); // 수신자 메일 주소
final MimeMessage fMsg = msg;
// 메일 발송 실행
new Thread(new Runnable() {
@Override
public void run() {
try {
}
}
}
}).start();
} catch (Exception e) {
e.printStackTrace();
}
Transport.send(fMsg);
} catch (Exception e) {
e.printStackTrace();
}
컨트롤러 연결
MainController
@RequestMapping("mail")
@ResponseBody
public Map<String, Object> mail(HttpServletRequest request,
@RequestParam Map<String, Object> map) {
Map<String, Object> returnMap = new HashMap<String, Object>();
Mailer mail = Mailer.getInstance();
mail.sendMail("제목", "내용테스트", new String[]{"[email protected]"});
}
return returnMap;
메일 발송
mail.do 접속
메일 발송
console 로그
메일 발송
console 로그