SlackのIncoming Webhookを使う
json形式でWebhook用のURLにPOSTするだけ。
1 | import os |
Slackの設定
SlackのAppからIncoming WebHooksを選択。
Appディレクトリで確認する。
Slackに追加。
投稿先のチャンネルを選択。
Webhook URLを取得する。
json形式でWebhook用のURLにPOSTするだけ。
1 | import os |
SlackのAppからIncoming WebHooksを選択。
Appディレクトリで確認する。
Slackに追加。
投稿先のチャンネルを選択。
Webhook URLを取得する。
gmailの場合、SMTPサーバはsmtp.gmail.com:587
で設定する。
1 | import os |
SMTPでメール送信を行う設定をせずに送信するとエラーになる。
1 | smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted. Learn more at\n5.7.8 https://support.google.com/mail/?p=BadCredentials xxxxxxxxxxxxxxxx.xx - gsmtp') |
標準で無効になっている、安全性の低いアプリのアクセスを有効にして送信可能にする。
パスワードはGmailアカウントのパスワードを使用する。
2段階認証を有効にして、アプリパスワードを発行する。
パスワードはアプリ用パスワードとして発行した16桁のパスワードを使用する。
SMSか音声通話で2段階認証プロセスを有効化する(ここでは音声通話)。
認証アプリケーションを設定する。
アプリ用パスワードを発行する。
SMTPHandlerを使ってERRORレベルのログをメール送信する。
1 | import os |
実行するとrootで設定したINFOレベル以上のログをlogging.StreamHandler
で表示。
1 | $python log_to_mail.py |
ERRORレベルのログはSMTPHandler
でメール通知。
error log
2020-04-19 00:18:11,840 - __main__ - ERROR - Error log message
バックエンドとして各種OSのパスワード機構を使える
- macOS Keychain
- Freedesktop Secret Service supports many DE including GNOME (requires secretstorage)
- KDE4 & KDE5 KWallet (requires dbus)
- Windows Credential Locker
Linuxの場合、GnomeかKDEが稼働しているホストでなければならない。
python:3-slimベースのContainer上ではNoKeyringError
になる
1 | $keyring |
Windows資格情報に対する追加・削除・参照ができる。
1 | import keyring |
実行結果
1 | PS > python .\keyring-test.py |
めも
募集中