「シゴトがはかどるPython自動処理の教科書」を一通り読み、そのなかで興味を引かれたGmail・LINEの自動送信をやってみました。
結果からいうと、Gmailはエラーのようなものが出て送信できませんでした。
LINEは送信できました。ただタスクスケジューラが本に書いてあるだけではうまくいかなかったので、その点も書いていきます。
PythonでGmailを送信できない。「smtplib.SMTPServerDisconnected: Connection unexpectedly closed」と出てしまう。
PythonでGmailを送信するところで、本のとおりにコードを書いて、メールアドレスとパスワードのところだけ自分のものに変更し実行したのですが、Gmailが送信されません。
「smtplib.SMTPServerDisconnected: Connection unexpectedly closed」と出てエラー(?)になってしまいます↓
ちゃんとGoogleアカウントで、「安全性の低いアプリのアクセス」を有効にしているのにですよ。
コードを何度見直しても特に間違ってるところはない。念のため本のサイトからサンプルファイルをダウンロードし、それを使って実行してもダメ。
「Python gmail 送れない」やエラーコードでググって調べても、原因がわかりません。
おそらくコードは間違ってない。だってダウンロードしたサンプルファイルを使ってもダメだったんですから。原因はGoogleアカウントの何かの設定だと思います。
でも結局いろいろ試してもダメだったので、PythonでGmailを自動送信するのはあきらめました。
どなたかこの「smtplib.SMTPServerDisconnected: Connection unexpectedly closed」と出てしまう原因がわかる方いたら教えてくださいm(__)m
PythonでLINEを自動送信。タスクスケジューラが実行されない!
PythonでLINEを送信するやり方は本のとおりにやったらできました。
トークンの取得↓
プログラムを実行↓
届いた!↓
今度はこれを毎朝7時に「おはよう」と自分にLINEを自動送信するようにしたいと思います。
まず、当たり前ですがプログラムのメッセージを「おはよう」に変更して、
タスクスケジューラで毎朝7時に実行するよう設定します。
これでいいはず。
が、翌朝7時になってもLINEが届きません。
なぜだ!?
いろいろ調べると、タスクスケジューラの設定で「ユーザーがログインしているかどうかにかかわらず実行する」にしないといけないようです。
タスクスケジューラの「タスクスケジューラ ライブラリ」→(このままではチェックを入れられません)タスクをダブルクリック↓
すると設定画面のポップアップが表示されるので、ここで「ユーザーがログインしているかどうかにかかわらず実行する」と「最上位の特権で実行する」にチェックを入れます↓
これでOKなはずです。
さらに、タスクスケジューラはデフォルトでは電源(ACアダプター)がつながっていないと実行されない設定になっているらしいです↓
(先程の設定画面の「条件」のところ)
なので翌朝パソコンの電源をつないで待ちます。
すると…LINEが届きました!
やったー!
これで「PythonでLINEを自動送信」が完了です。
Twitterの自動送信は?
Twitterの自動送信は、APIキーの取得がめんどくさそうなので今回はやめました。
いつかやるかも。