学生メールに届いたクラス当てのメールをLINEのグループトークや個人トークに送信します。
設定したメールアドレス宛にメールが届いていれば差出人,タイトル,本文,添付ファイルがあるか否かを以下の様式でLINEBotが送信してくれます。
from:差出人
title:タイトル
以下本文
...
...
...
...
※添付ファイルがあります。(添付ファイルがある場合)
添付ファイルも送信したかったのですが,残念ながらLINE Messaging APIの仕様上できなかった。(Office 365 APIでは添付ファイルを落とすことが可能)
以下の環境で動作させています。
CentOS7
Python3.6.*
また以下のパッケージを使用してますのでインストールしてください。
pip install flask
pip install line-bot-api
pip install O365
Info.py内にLINEBotのチャンネルシークレット,アクセストークン,Office 365 APIのクライアントID,クライアントシークレットを記述してください。
_ChannelSecret = "YourLINE_CHANNEL_SECRET"
_AccessToken = "YourACCESS_TOKEN"
_credentials = ('YourOFFICE_CLIENT_ID','YourCLIENT_SECRET')
_className = "転送したいメールアドレス"
def getChannelSecret():
return _ChannelSecret
def getAccessToken():
return _AccessToken
def getCredentials():
return _credentials
def getClassName():
return _className
Office 365 APIを使用するにはセッティングが必要なため,以下の記事を参考に行ってください。
PythonのO365パッケージでメール一覧を取得する-Qiita @k8uwall https://qiita.com/k8uwall/items/4e98c0b8e615a2e51a79
レスポンスはありませんが,LINEのuserIDやgroupIDを管理するため,サーバを立てる必要があります。server.pyを実行すると,5000番ポートに管理サーバを建ててくれます。
python3 server.py
また,学生メールに届いたものをLINEに送信するために,app.pyを実行してください。5分おきにメールボックスからメールを取得して5分以内に送信されたメールの内容をLINEに送信します。
python3 app.py