스프링

 

https://mvnrepository.com/

1. 라이브러리 

		
		
			javax.mail
			javax.mail-api
			1.6.2
		

 

2. 소스

import java.util.Date;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class MyMailSend {

	private String host; // host 네이버일 경우(smtp.naver.com), gmail경우(smtp.gmail.com) 로컬일 경우 localhost
	private String userId; // 아이디
	private String password; // 비밀번호

	public void emailSend(String fromEmail, String nickname, InternetAddress[] toEmail, String subject, String text,
			String contentType) {

		Properties props = System.getProperties();
		props.put("mail.smtp.host", host);

		if (!host.equals("localhost")) {
			props.put("mail.smtp.host", host);
			props.put("mail.smtp.port", 465);
			props.put("mail.smtp.auth", "true");
			props.put("mail.smtp.ssl.enable", "true");
			props.put("mail.smtp.ssl.trust", host);
		}

		Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
			protected PasswordAuthentication getPasswordAuthentication() {
				return new PasswordAuthentication(userId, password);
			}
		});

		MimeMessage msg = new MimeMessage(session);

		try {
			// 편지보낸시간
			msg.setSentDate(new Date());
			msg.setFrom(new InternetAddress(fromEmail, nickname));
			// 이메일 수신자
			//InternetAddress to = new InternetAddress(toEmail);
			//msg.setRecipient(Message.RecipientType.TO, to);
			
			msg.addRecipients(Message.RecipientType.TO, toEmail);
			
			// 이메일 제목
			msg.setSubject(subject, "UTF-8");
			// 이메일 내용
			msg.setText(text, "UTF-8");

			// 이메일 헤더
			msg.setHeader("content-Type", contentType);
			// 메일보내기
			javax.mail.Transport.send(msg, msg.getAllRecipients());

		} catch (AddressException addr_e) {
			addr_e.printStackTrace();
		} catch (MessagingException msg_e) {
			msg_e.printStackTrace();
		} catch (Exception msg_e) {
			msg_e.printStackTrace();
		}

	}

	public static void main(String[] args) {
		MyMailSend myMailSend = new MyMailSend();
		myMailSend.host = "smtp.naver.com";
		myMailSend.userId= "test@naver.com";
		myMailSend.password = "1234";
		
		//발신자 다른 주소나 별칭으로 메일 보내기	 https://support.google.com/mail/answer/22370?hl=ko
		String fromEmail="test@naver.com"; 
		
		//다중 메일 :  수신자 주소
		InternetAddress[] addArray = new InternetAddress[1]; 
		try {
			addArray[0] = new InternetAddress("test@gmail.com");	
		} catch (Exception e) {
			e.printStackTrace();
		}
				
		myMailSend.emailSend(fromEmail, "홍길동기업", addArray, "메일제목", "메일내용", "text/html");
	}
	
	

	
}

 

 

1) gmail smtp 설정

https://privatenote.tistory.com/172

 

2)gmail 보안수준낮음 설정

Gmail smtp 사용할 경우 보안 수준이 낮은 앱 설정을 사용해야 한다.

아니면 구글에서 접근을 차단하기 때문

지메일 로그인 후 https://www.google.com/settings/security/lesssecureapps 접속해서 사용으로 선택한다.

 

3)gmail  다른 주소나 별칭으로 이메일 보내기

https://support.google.com/mail/answer/22370?hl=ko

 

 

4)naver 설정

https://m.blog.naver.com/monsterkn/221333152250

 

 

 

 

 

 

 

about author

PHRASE

Level 60  라이트

Eyes are more eloquent than lips. (눈은 입보다 능변하다. = 더 풍부하게 감정을 표현한다).

댓글 ( 6)

댓글 남기기

작성