보통 Gmail과 같은 경우는 모바일 폰에서 Push 알림을 주기 때문에 새로운 메일을 받았을 때 사용자가 인지할 수 있다.

하지만 Push 서비스를 제공하지 않는 경우에는 매번 로그인해서 확인할 수 밖에 없다.

이를 위해서 새로운 메일이 왔을 때, MS Office의 Outlook에서 Telegram Bot을 활용해 알림을 보내는 방법을 구성해봤다.


* Outlook은 2016 버전을 기준으로 만들었으며, 2013 버전에도 동작함을 확인했다.

* Outlook에서는 "규칙" 이라는 기능을 제공하는데, 2016버전에서는 규칙에서 스크립트를 사용할 수 없다. Window의 registy를 수정해야 한다.

* 수정 방법은 https://www.slipstick.com/outlook/rules/outlook-2016-run-a-script-rules/  을 참조하거나,  EnableUnsafeClientMailRules.zip  파일을 다운로드 받으면 된다. (출처 : https://onedrive.live.com/?id=6117FC33D161D286%2189288&cid=6117FC33D161D286 )

* 사전에 Telegram Bot을 생성해야 한다. Bot 생성 방법은 http://krksap.tistory.com/836 에 상세하게 나와 있다.



1. Outlook에서 개발 도구 활성화하기 및 매크로 실행 설정


 

파일 - 옵션 - 리본 사용자 지정 - 개발도구 체크

 

 

 

 

파일 - 옵션 - 보안센터 - 보안센터 설정 - 매크로 설정 - 모든 매크로 실행 체크

 

 

 

 

파일 - 옵션 - 추가 기능 - Microsoft VBA for Outlook Addin 항목을 "COM 추가기능" 으로 이동

 

2. Outlook 개발 도구에서 VBA 스크립트 추가

개발 도구 - Visual Basic - Project1 - Microsoft Outlook 개체 - ThisOutlookSession 에 아래 코드 추가

 

 

*제목과 본문을 표시하되, 본문은 100자까지만 표시하도록 했다 ( Left(body, 100)  에 해당 ).

* 미리 받아뒀던  HTTP API는 bot으로 시작하며 ( : 을 포함하는), chatID는 숫자로 이루어져 있다. 아래와 같이 입력하면 된다.

 

 

 

 

3. Outlook 규칙 만들기

 

 

 

홈 - 규칙 - 규칙 만들기 - 고급옵션 클릭

* 메시지 수신시 받는 사람의 조건(좌)을 선택한 후, 이벤트 발생시 실행할 동작(우)를 선택하여 2번에서 등록한 스크립트를 등록한다

 

 

4. 새로운 메일 수신시 Telegram 알림 수신

 

 

* AlertTele는 내가 설정한 Telegram Bot의 이름이다. 2번의 스크립트에서 제목과 본문의 순서 등을 수정할 수 있다.

+ Recent posts