본문 바로가기

Program/My program

지메일(Gmail)로 온 메일을 실시간으로 문자(SMS)로 알려주는 알리미

(수정:2010-12-05) 
이제 데스크탑에서 실행시켜 둘 필요가 없게 되었습니다.
아래 링크를 참조해주세요.

------------------------

                                                              (수정:2010-10-05)

지메일로 온 메일을 체크하여 문자로 알려주는 프로그램입니다.
개인적으로 사용하기 위해 만들었는데 필요하신 분이 있을 것 같아 실행파일을 공개합니다.
10초마다 지메일 계정을 체크하면서 지메일로 온(INBOX로 들어온) 모든 새로운 메일에 대해서 문자로 알려줍니다. 

어떻게 공짜로 문자를 보내느냐구요?
트릭은 다음과 같습니다.
구글 캘린더에는 알림 기능이 있는데요,
알림 방법 중에 SMS를 이용한 알림이 무료로 제공이 됩니다.
이걸 이용하는거죠.
Google API를 이용해 현재시간 보다 약 1분뒤의 시각으로 SMS알림 설정을 하여 캘린더에 등록을 하면. 문자로 짠~ 하고 오는거예요.

사용하기에 앞서 몇가지 주의 사항이 있습니다.

읽지않은 모든 메일에 대해서 읽음 설정 후 캘린더로 포스팅하기 땜에 구글 캘린더의 특정 시간에 엄청나게 많은 이벤트가 등록될 수도 있습니다;
따라서 이를 방지하기 위해서는 알리미만을 위한 새로 구글 계정을 만들 필요가 있는데요.
아래 그림과 같이 새로운 계정을 하나 생성한 후 캘린더 설정에서 모바일 설정을 해줍니다.



그리고 나서 다시 원래 지메일 계정으로 로그인 해서 설정에서  IMAP이 Enabled되었는지 확인하고

그 다음에는 설정의 Send mail as: 에서  메일 포워딩을 위한 계정 설정을 합니다.

이렇게 설정을 하고 나면
알림을 받길 원하는 메일이 있으면 새로 만든 계정으로 포워딩을 하도록 해줍니다.
새로 오는 모든 메일에 대해서 알림을 받고 싶으면 설정의 Forwarding and POP/IMAP 메뉴에서 설정하면 되고 특정 메일에 대해서 알림을 받고 싶으면 아래와 같이 필터를 설정해주면 됩니다.

그런 뒤에 프로그램 파일의 압축을 풀고 GoogleSMS.bat파일을 실행한 뒤
새로 만든 계정의 메일주소와 비밀번호를 치면 새로운 메일에 대해서 캘린더에 알리미 등록을 해줍니다.


새로운 메일이 오면 몇 분 내로 문자로 알림을 받게 됩니다.
캘린더에는 어떤식으로 등록되는지 볼까요?

문자를 받으면 자세한 내용은 스마트폰으로 바로 지메일에 접속해서 확인하면 됩니다.
기본적으로 스마트폰에는 몇시간 간격으로 메일을 확인을 하도록 설정 할 수 있지만
자주 확인을 하도록 하면 배터리 낭비가 심하기 때문이 이런 프로그램이 필요합니다!ㅎ

개인적으로는 미국과 한국 간에 문자를 주고받을 때에 비싸기 때문에
해외문자요금을 아끼기 위해서 미국 휴대폰에서(버라이존 폰,스마트폰 아니고 데이터 요금제 아닌 경우) 한국 휴대폰으로  메시지를 전달 할 때에는 SMS 대신 메일로 보내고, 한국 휴대폰에서 미국으로 보낼 때에는 [상대방전화번호]@vtext.com 로 메일을 보내는 방식으로 사용하고 있습니다.
제 폰이 스마트폰이라 메일보내기가 가능하고, 내가 [상대방전화번호]@vtext.com으로 메일을 보내면 상대방 폰에 SMS로 전달이 되고 미국의 상대방이 해당 SMS에 답장을 보내면 제 메일로 오니깐 실시간으로 확인하기 위해서 메일을 받자마자 알림을 받는게 필요한거죠.
윈도우 모바일 기반의 스마트폰인지라 무료로 실시간 메일 알림기능을 제공하는 서비스를 찾기 힘들었습니다ㅜㅜ
나름 만족하며 사용하고 있습니다.
단점은 항상 컴퓨터를 켜두지 않는 사람은 사용하기 힘들다는거?ㅎ
자바로 작성되었는지라 따로 호스팅 서버를 가지신 분은 백그라운드에서 돌아가도록 하면 되지 않을까 싶기도 하네요.
그리고 프로그램 실행 중간에 통신장애로 exception이 발생하여도 바로 다시 접속 하니 화면에 에러메시지가 떠도 무시하시면 됩니다.
아참, Java Runtime Environment(JRE)가 깔리지 않으면 실행되지 않는데요.
이 경우 http://java.sun.com/javase/downloads/index.jsp 여기서 최신 JRE를 깐 후에 실행하면 됩니다.


-- 추가 --
2010-10-04  
- 특정 클래스가 없어서 에러나는 경우가 발생하여 라이브러리를 추가하였습니다.
- 버전을 붙였습니다.
2010-10-05
- 프로그램에 인자로 텍스트 파일을 넣으면 텍스트파일에 적힌 아이디와 암호를 토대로 지메일 접근하도록 수정하였습니다.
예) 새 계정의 메일주소가 aaa@gmail.com이고 비밀번호가 12345인 경우, 컴퓨터가 부팅될 때마다 자동 로그인 되게 하려면 다음과 같이 합니다.
      1.  pw.txt를 생성하여 첫줄에는 지메일주소, 두번째줄에는 비밀번호를 넣어 저장(보안 안되니 주의)
         ----------- pw.txt 파일-------------
         aaa@gmail.com
         12345
         -----------------------------------
      2.  GoogleSMS.bat파일을 다음과 같이 수정
         ----------- GoogleSMS.bat --------------
         java -jar GoogleSMS.jar pw.txt
         -----------------------------------------
      3. GoogleSMS.bat파일의 바로가기를 만들어서 '시작->프로그램->시작프로그램'에 넣어서 부팅될 때마다
         수행되도록 등록
      * pw.txt파일 대신 다른 파일명이라도 상관은 없습니다만 1번과 2번 과정의 파일이름은 동일해야 합니다.