Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 래퍼클래스
- multipart바인딩
- 중첩클래스
- 왜불변객체인가
- 데이터베이스파서
- fcm성능비교
- biblecash
- multiparfile데이터
- 동기비동기블로킹논블로킹
- java enum
- 프로세스 생성
- Wrapper class
- HTTP프로토콜
- rest api 검증
- 옵티마이저
- 옵티마저
- fcm데이터구조
- httpservlet기술
- 불변객체
- 클라이언트요청반응
- HttpServlet
- rest api
- 디스패처서블릿
- fcmv1
- 검증 실패 예외처리
- equals
- 스프링요청반응
- 공유기작동방식
- 동등성동일성
- DispatcherServlet
Archives
- Today
- Total
개발은 아름다워
[ bible Cash ] stmp를 이용한 서버 종료 이메일 받기 본문
[ 발단 ]
서버 컴퓨터에 문제가 생겨서 was가 종료 될 경우 알람을 받아야 겠다는 생각이 들었습니다.
알람을 어떻게하면 무료로 받아 볼 수 있을까 찾아 보던 중 구글의 smtp를 이용해서 서버 종료 알람을 받으면 되겠다고 생각했습니다.
[ 구현 ]
- 기본적으로 구글 stmp를 이용하는 방법은 참고 링크를 보시면 되겠습니다.
- spring-boot-starter-mail 을 추가하여 JavaMailSender를 이용하였습니다.
- @PreDestroy를 활용하여 서버가 종료되기 전에 메일을 보내도록 구현하였습니다.
[ 코드 ]
- application.yml
spring:
mail:
host: smtp.gmail.com
port: 587
username: 구글이메일
password: 구글 앱 비밀번호 설정시 받은 16자리 비밀번호
properties:
mail:
smtp:
auth: true
timeout: 5000
starttls:
enable: true
DemobibleApplication
@Slf4j
@RequiredArgsConstructor
@SpringBootApplication
public class DemobibleApplication {
private final JavaMailSender mailSender;
public static void main(String[] args) {
SpringApplication.run(DemobibleApplication.class, args);
}
@PreDestroy
public void onShutdown(){
log.info("🚀 서버 종료 중... 관리자에게 이메일 전송");
try {
MimeMessage mimeMessage = mailSender.createMimeMessage();
String subject = "🔴 서버 종료 알림";
String body = "Spring Boot 서버가 종료되었습니다.";
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage);
mimeMessageHelper.setTo("알람 받을 이메일 주소");
mimeMessageHelper.setSubject(subject);
mimeMessageHelper.setText(body);
// Email 전송
mailSender.send(mimeMessage);
log.info("✅ 서버 종료 이메일 전송 완료");
} catch (MessagingException e){
log.error("❌ 서버 종료 이메일 전송 실패", e);
}
}
}
[ 참고 링크 ]
https://velog.io/@byu0hyun/Djagno-Gmail-SMTP-%EC%82%AC%EC%9A%A9
'프로젝트' 카테고리의 다른 글
[ bible Cash ] 주간 읽은 양 랭킹 기능 추가 (1) | 2025.02.05 |
---|---|
[ bible Cash ] 로그인 시, 아이디 존재하지 않는 경우 처리, 추가로 읽은 말씀 기능 (1) | 2025.02.04 |
[ bible Cash ] 개인 랭킹, 그룹별 랭킹, 더 읽은 말씀 기능 추가 (0) | 2025.02.04 |
[ biblecash ] 스케쥴러 코드 변경 (0) | 2025.02.03 |
[ bible cash ] 각 계층별 코드 (1) | 2025.01.17 |