티스토리 뷰

Java

초 간단 외부(네이버 메일서버) SMTP 모니터링

일상의 기록을 남긴다 2017. 12. 14. 17:29

다 필요없고 그냥 외부 SMTP가 살아있는지만 확인하는 코드.


윈도우 서버에서 배치파일로 모니터링(헬스체크, Health Check) 하기 위해 만들었다.


# 자바소스 #


import java.net.Socket;


public class SmtpCheck

{

public static void main(String[] args) {

try {

Socket ss = new Socket("smtp.naver.com", 465);

boolean isConnected = ss.isBound() && ss.isConnected();

if(isConnected) {

System.exit(0);

} else {

System.exit(-1);

}

} catch(Exception e) {            

System.exit(-123);

        }

}

}


# 윈도우 배치파일 #


@ECHO OFF

setlocal enabledelayedexpansion


javac -cp .; SmtpCheck.java


java -cp .; SmtpCheck


echo %errorlevel%



여기서 errorlevel 은 윈도우에서 마지막으로 실행한 결과 값을 가지고 있다.

즉, 자바로 SmtpCheck를 실행한 결과를 리턴한다.

자바 소스를 보면 네이버의 SMTP에 접속해서 소켓이 연결 되었다면 자바를 종료하며

시스템에 0을 리턴하고 그렇지 않다면(연결이 안 되었다면 = 네이버 SMTP가 죽었다면)

시스템에 -1을 리턴한다.

이렇게 초 간단 네이버의 메일 서버 모니터링이 끝났다.

만약 네이버의 SMTP를 SSL 을 이용하지 않고 TLS (IMAP)를 사용할 경우

자바 소스의 Socket ss = new Socket("smtp.naver.com", 465); 에서 465 대신 587로 변경하면 된다.

다른 메일 서버는 안 해봤지만 같은 원리로 지메일이나 타 메일도 가능할 것 같다.


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함