728x90
반응형
안녕하세요~ 작은나무입니다!!
JAVA에서 SMTP를 이용하여 메일을 발송하는 내용을 알아보겠습니다.
메일을 발송하기 위해 알아야 하는 메일 관련 프로토콜에 대해 먼저 확인해 보겠습니다.
SMTP (Simple Mail Transfer Protocol)
메일을 전송하기 위해 사용되는 TCP/IP Protocol 통신 규약입니다.
POP3 (Post Office Protocol) / IMAP (Iternet Mail Access Protocol)
메일을 수신하기 위한 표준 Protocol - 서버에 위치한 자신의 메일 수신함을 가져올수 있습니다.
JavaMail.jar 라이브러리를 다운로드 받습니다.
https://mvnrepository.com/artifact/javax.mail/javax.mail-api/1.6.2
라이브러리를 다운로드 후 자신의 프로젝트에 import하여 메일 작업을 할 수 있도록 설정합니다.
[JAVA 메일 보내기]
import javax.mail.Authenticator;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.internet.MimeMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
public static void sendMail() {
Properties props = new Properties();
try{
//SSL 사용일때
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory")
props.put("mail.smtp.socketFactory.port", "587");
props.put("mail.smtp.ssl.enable", "true");
//TLS 사용일때
props.put("mail.smtp.port", "465");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.fallback", "false");
props.put("mail.smtp.debug", "true");
props.put("mail.smtp.auth", "true");
//인증정보
Authenticator auth = new SMTPAuthenticator("계정 아이디", "계정 비밀번호");
Session mailSession = Session.getDefaultInstance(props, auth);
MimeMessage mailMessage = mailImpl.createMimeMessage();
MimeMessageHelper message = new MimeMessageHelper(mailMessage, isAttach, "UTF-8");
message.setTo("받는사람 메일주소");
message.setFrom("보내는 사람 메일주소");
message.setSubject("메일제목");
message.setText("메일 본문", true);
mailImpl.setJavaMailProperties(props);
mailImpl.setSession(mailSession);
//메일발송
mailImpl.send(mailMessage);
}
catch(MessagingException e)
{
e.printStackTrace();
}
catch (AddressException e)
{
e.printStackTrace();
}
}
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
public class SMTPAuthenticator extends Authenticator
{
protected static String username = "";
protected static String password = "";
public SMTPAuthenticator(String user, String pwd)
{
username = user;
password = pwd;
}
public PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication(username, password);
}
}
728x90
반응형
그리드형