보통 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번의 스크립트에서 제목과 본문의 순서 등을 수정할 수 있다.