반응형
사용 기술 | |||
Java | Maven | Spring Boot | Local |
Reids 설치
Mac 의 Local 환경에서 설치해서 아래 블로그의 도움을 받았습니다.
https://herojoon-dev.tistory.com/170
코드 구현
pom.xml
Dependency '' not found 에러 해결법은 아래 글처럼 해결했습니다.
https://skylarcoding.tistory.com/229
application.properties
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=사용할 계정 아이디
spring.mail.password=사용할 계정 비밀번호
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
EmailService.java
서비스 부분 구현은 아래 블로그의 도움을 받았습니다.
package com.example.studyproject.email;
import jakarta.mail.MessagingException;
import jakarta.mail.internet.MimeMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;
@Service
public class EmailService {
@Autowired
private JavaMailSender emailSender;
private static final String senderEmail = "studyprojectsup@gmail.com";
private static int number;
// 번호 생성 메서드
public static void createNumber(){
number = (int)(Math.random() * (90000)) + 100000; //(int) Math.random() * (최댓값-최소값+1) + 최소값
}
// 메일 생성 메서드
public MimeMessage CreateMail(String mail){
createNumber();
MimeMessage message = emailSender.createMimeMessage();
try {
message.setFrom(senderEmail);
message.setRecipients(MimeMessage.RecipientType.TO, mail);
message.setSubject("이메일 인증 요청 입니다.");
String body = "";
body += "<h3>" + "요청하신 인증 번호입니다." + "</h3>";
body += "<h1>" + number + "</h1>";
body += "<h3>" + "감사합니다." + "</h3>";
message.setText(body,"UTF-8", "html");
} catch (MessagingException e){
e.printStackTrace();
}
return message;
}
// 메일 전송 메서드
public int sendMail (String mail){
MimeMessage message = CreateMail(mail);
emailSender.send(message);
return number;
}
}
반응형