Python3 からメールを送りたい。受信するとこんな感じ。
自宅サーバでの動画圧縮の完了をメールで知らせるようにしたい。
メール本文には、圧縮完了した日時と動画名を載せる。ついでに圧縮後の動画(自宅サーバで公開)のリンクも表示して再生できるようにする。
できた。
<注意点memo>
・20-23行目。パスワードを都度入力にしたいときはここを有効にする。
・33-43行目。Python内でシェルコマンド実行はこうやってPIPE使うらしい。
・85-88行目。Toやccはテキトーな文字列でOK。メール送信はここのアドレスを見ているのではないから。ここは単に、メールの「To」欄に表示する文字列を決めているだけ。
実行はこう。環境は Python3。
$ python myGmailAuto.py
メール送信を実行後、Python内で実行したシェルコマンド(ls)の結果も表示してくれる。
動画圧縮(HandBrakeCLI)と組み合わせれば、
$ for i in 動画名.ts; do echo "$i"; HandBrakeCLI -i "$i" -o "$i".mp4 -Z "AppleTV 3" && rm "$i" && python myGmailAuto.py; done
圧縮(数時間かかる)完了時にメールで知らせてくれる。超便利。
<今後>
・送信:ファイル添付を実装する。
・受信:受信クライアントを実装する。
・受信:HTMLで受信したメールに含まれるポイントリンクを自動でクリックさせる。
・送信:件名や本文を引数から受け付けるようにして、cronのイベントの完了通知に使う。
・メールでなくてLINEでも通知するように改良する。