-
초간단 자바로 메일보내기(구글 SMTP) 2023년 최신Java 2023. 10. 7. 16:25반응형
자바(java) 구글 메일전송(SMTP) 사용하기
JAVA 구글 Gmail SMTP 이메일 전송 예제 1. JAVA로 구글 Gmail SMTP 이메일 전송을 위해 자르 mail.jar 파일을 Build path(lib)에 추가하거나 메이븐(Maven)프로젝트인 경우는 pom.xml에 아래 dependency 추가한다. javax.m
devmg.tistory.com
몇년전 자바로 구글SMTP 보내는 방법과 요즘 보내는 방법이 달라졌다.
예전에는 구글 SMTP를 이용하려면 보안단계를 낮추고 이메일주소/비밀번호가 필요했지만
이제는 앱비밀번호란게 필요하다. 이 정보는 스프링 프로퍼티 파일에 입력해야한다.
앱비밀번호 발급받는 방법시작
로그인후 Google 계정관리 클릭
검색창에 앱 비밀번호 입력후 진입.
※ 만약에 검색 결과에 노출되지 않으면 2단계 인증을 활성화 해야한다. ↓ ↓
보안 > 2단계 인증 클릭
App name 입력후 [만들기] 클릭
16자리 앱비밀번호를 복사
application.yml 에 입력
spring: mail: host: smtp.gmail.com port: 587 username: test@gmail.com password: aaaa bbbb cccc dddd properties: mail: smtp: auth: true starttls: enable: true
※ application.properties 일경우
spring.mail.host=smtp.gmail.com spring.mail.port=587 spring.mail.username=your-email@gmail.com spring.mail.password=your-gmail-password spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true
build.gradle 에 아래 di추가
dependencies { implementation 'org.springframework.boot:spring-boot-starter-mail' }
※ maven 일경우
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-mail --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> <version>3.1.4</version> </dependency>
MainSendService.java 작성
import org.springframework.mail.MailException; import org.springframework.mail.SimpleMailMessage; import org.springframework.stereotype.Service; @Service public class MainSendService { //기본적으로 구글 SMTP 서버를 이용한다. //본인의 계정으로 다른 이용자에게 메일을 보내는 개념이다. //본인의 구글계정 아이디/앱비밀번호 정보를 application.yml에 정의한다. /** * @methodName : sendEmailToMember * @description : 메일전송 * @author : * @date : 2023.10.07 * @param toEmailAddr 받는사람이메일주소 * @param subject 제목 * @param text 내용 */ public void sendEmailToMember(String toEmailAddr, String subject, String text) { SimpleMailMessage message = new SimpleMailMessage(); try { //받는사람 message.setTo(toEmailAddr); //제목 message.setSubject(subject); //내용 message.setText(text); } catch (MailException e) { // 메일 전송이 실패하면 예외가 발생 e.printStackTrace(); } } }
서비스를 만들었으니 호출하는 곳에서
mainSendService.sendEmailToMember(파라미터) 입력하여 전송 한다.
반응형'Java' 카테고리의 다른 글
[Java] 사용자 정의 예외 (Exception) 만들기 (0) 2023.02.26 [java] 자주쓰는 람다식 Lambda (stream 인터페이스) 예제 (0) 2023.02.12 [java] @SuppressWarnings 란? (0) 2022.02.20 자바 예외(Exception) 및 예외 처리 개념 (0) 2020.05.26 java 람다식 lamda 여러가지 응용하기 (0) 2020.04.25