본문 바로가기

백엔드/자바

스프링부트 이메일 전송

반응형

스프링부트 어플리케이션에서 이메일 전송하는 방법에 대해 알아보자.

디펜던시 추가

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

프로퍼티 설정

application.properties 파일에 아래와 같이 속성값을 추가한다. 호스트와 포트는 사용하고자 하는 메일에 따라 설정한다. 다음으로 발신 메일주소와 비밀번호를 입력하는 데 지메일의 경우 제한된 권한을 허용하는 앱 비밀번호를 사용해야한다.

spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=<mail@gmail.com>
spring.mail.password=<app_access_password>
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true

지메일 앱 비밀번호 생성하기

구글계정 로그인 -> security -> 2-step verification 선택

하단에 app passwords 선택

이름설정 후 저장하면 자동생성된다

사용하기

텍스트 전송

@Controller
public class EmailController {

    @Autowired
    private JavaMailSender mailSender;

    @GetMapping("/email")
    public void sendEmail() {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setFrom("<senderEmail@gmail.com>");
        message.setTo("<receiverEmail>");
        String subject = "Subject";
        String content = "Content";
        message.setSubject(subject);
        message.setText(content);
        mailSender.send(message);        
    }
}

이상 


참고

Spring Boot Email Sending Tutorial and Code Examples (codejava.net)

 

Spring Boot Email Sending Tutorial and Code Examples

 

www.codejava.net

Sign in with app passwords - Google Account Help

 

앱 비밀번호로 로그인 - Google 계정 고객센터

도움말: 앱 비밀번호는 권장되지 않으며 대부분의 경우 필요하지 않습니다. 계정을 안전하게 보호하려면 'Google 계정으로 로그인'을 사용하여 앱을 Google 계정에 연결하세요. 앱 비밀번호란 보안

support.google.com

 

728x90
반응형

'백엔드 > 자바' 카테고리의 다른 글

폴리모피즘  (0) 2024.01.01
함수 오버로딩 VS 오버라이딩  (0) 2023.12.31
자바: 에러: release version 21 not supported  (0) 2023.12.30
상속  (0) 2023.12.28
클래스  (0) 2023.12.28