728x90
Gmail에 들어가 설정(톱니바퀴)을 클릭하고 모든 설정 보기로 들어간다.
전달 및 POP/IMAP에 들어가서 설정을 바꿔준다.
계정으로 들어가서 보안으로 들어간다.
2단계 인증을 해준 뒤
위의 화살표로 들어가서 앱 비밀번호를 설정해준다.
설정한 비밀번호를 저장해둔다.
이제 인텔리제이로 들어가서 build.gradle에 의존성을 추가한다.
implementation 'org.springframework.boot:spring-boot-starter-mail'
.yml 파일에 들어가서 설정 내용을 작성해준다.
spring:
mail:
host: smtp.gmail.com
port: 587
username: [내 이메일 주소]
password: [위에서 저장한 앱 비밀번호]
properties:
mail:
smtp:
auth: true
starttls:
enable: true
작성한 정보중에 중요한 정보가 있으므로 gitignore을 통해 가려주도록 하자!
이제 간단하게 메일 발송만 해볼 것이다!
다음과 같이 컨트롤러가 있고
@Controller
@RequiredArgsConstructor
public class MailController {
private final MailService mailService;
@GetMapping("/mail")
public String Mail() {
return "mail";
}
@PostMapping("/mail")
public void Mail(Mail mail) {
mailService.mailSend(mail);
}
mailService에 mailSend 메서드가 다음과 같이 구현되어 있을 때
@Service
@RequiredArgsConstructor
public class MailService {
private JavaMailSender mailSender;
private static final String yourAddress = "EMAIL";
public void mailSend(Mail mail) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(mail.getAddress());
message.setFrom(MailService.yourAddress);
message.setSubject(mailDto.getTitle());
message.setText(mailDto.getContent());
mailSender.send(message);
}
}
setTo - 받는 사람의 이메일 주소
setFrom - 보내는 사람의 이메일 주소
setSubject - 이메일의 제목
setText - 내용
이제 한번 실행해보자!
와우! 메일이 잘 가는 것을 볼 수 있다!!
위에서는 SimpleMailMessage클래스를 사용하였지만 MimeMessage 클래스를 사용하여 html 과 같은 추가적인 정보를
같이 담아서 보낼 수도 있다!! (메일을 보내면 html이 랜더링되어서 발송된다)
728x90
반응형
'▸spring' 카테고리의 다른 글
좋은 객체 지향 설계의 5가지 원칙 - SOLID (0) | 2023.04.05 |
---|