import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;
@Service
public class EmailService {
// JavaMailSender를 주입받아 이메일을 보낼 수 있도록 설정
@Autowired
private JavaMailSender mailSender; // IntelliJ에서 보면 에러가 발생하지만 실행에 문제되지 않음
/**
* 간단한 이메일 메시지를 보내는 메소드
*
* @param to 수신자 이메일 주소
* @param subject 이메일 제목
* @param text 이메일 본문
*/
public void sendSimpleMessage(String to, String subject, String text) {
// SimpleMailMessage 객체 생성 및 설정
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to); // 수신자 설정
message.setSubject(subject); // 제목 설정
message.setText(text); // 본문 설정
// 이메일 전송
mailSender.send(message);
}
}
ExamController.java
@RequiredArgsConstructor
public class UserController {
private final EmailService emailService;
/**
* 인증번호 발송 메소드
*/
@PostMapping("/authEmail")
public ResponseEntity sendAuthEmail() {
String email = "test@naver.com";
// 메일 발송
emailService.sendSimpleMessage(email, "subject", "body");
return ResponseEntity.ok("인증 메일이 발송되었습니다.");
}