❗구글 이메일의 앱 비밀번호 발급
앱 비밀번호라고 떠있지 않은 경우는 위에 있는 2단계 인증부터 해주시면 뜹니다
❗이메일 등록하기
❗스프링 프로젝트 설정
//이메일 인증
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-mail', version: '2.6.3'
build.gradle에 의존성 추가
---
spring:
mail:
host: smtp.gmail.com
port: 587
username: #앱 비밀번호 발급받은 google 계정
password: #발급받은 앱 비밀번호
properties:
mail:
smtp:
starttls:
enable: true
auth: true
application.yml에 설정 추가
username과 password에 구글 이메일과 앱 비밀번호를 입력해줍니다
@Service
@RequiredArgsConstructor
public class EmailService {
private final JavaMailSender emailSender;
public UserRes.EmailAuthRes sendEmail(String email) throws MessagingException, UnsupportedEncodingException {
UserRes.EmailAuthRes emailAuthRes = new UserRes.EmailAuthRes();
Random random = new Random();
int checkCode = random.nextInt(888888) + 111111;
String sender = "yujinkwon.dev@gmail.com"; //보내는 사람
String receiver = email; //받는 사람
String title = "회원가입 인증 번호"; //제목
String text = ""; //내용
text += "<div style='margin:10%;'>";
text += "<div style='font-size:130%'>";
text += "CODE : <strong>";
text += checkCode + "</strong><div><br/> ";
text += "</div>";
MimeMessage message = emailSender.createMimeMessage();
message.addRecipients(MimeMessage.RecipientType.TO, receiver); //받는 이메일 설정
message.setSubject(title); //제목 설정
message.setFrom(sender); //보내는 사람
message.setText(text, "utf-8", "html"); //내용
emailSender.send(message);
emailAuthRes.setCheckCode(checkCode);
return emailAuthRes;
}
}
EmailService를 만든 후 이메일을 보내는 양식을 작성해줍니다
❗테스트
이메일 인증 api까지 만들어서 테스트해보면
728x90
반응형
'🔻Back-End > Features' 카테고리의 다른 글
[Features] ngrok 기반 로컬 LoadBalancer 구현 (0) | 2024.08.18 |
---|---|
[Features] S3 버킷 생성 및 SpringBoot 프로젝트에 연결 (0) | 2024.08.10 |
[Features] Spring Security 구현 - 3 (0) | 2024.08.03 |
[Features] Spring Security 구현 - 2 (0) | 2024.08.03 |
[Features] Spring Security 구현 - 1 (0) | 2024.08.01 |