①PythonAnywhereの無料アカウントからメールを送る


クラウド上のサーバーでPythonのコードを実行できるPythonAnywhereでスクレイピングして結果をメールで送ろうと思いますが、まずはメールを送るところまで紹介したいと思います。思ったより簡単にできました。

まず、PythonAnywhereで無料でアカウントを作ります。

それから使用するGmailでダミーアカウントを作ります。もちろん、普段使っているGmailアカウントを使ってもいいのですが、パスワードをコード中に記載することになるので、お勧めしません。
また、無料ユーザーはSMTPは使えないのですが、Gmailは特別に使えるようになっているそうです。
https://help.pythonanywhere.com/pages/SMTPForFreeUsers/

さっそくですが、コードです。
Gmailのアカウント名とパスワードは書き換えてください。

import smtplib, ssl
from email.mime.text import MIMEText


# SMTP認証情報
account = "[email protected]" #書き換える
password = "ZZZZZ1234" #書き換える

# 送受信先
to_email = "[email protected]" #書き換えなくても大丈夫かも・・
from_email = "[email protected]" #書き換えなくても大丈夫かも・

# MIMEの作成
subject = "Test mail"
message = "テストメールですよ"
msg = MIMEText(message, "html")
msg["Subject"] = subject
msg["To"] = to_email
msg["From"] = from_email

server = smtplib.SMTP_SSL("smtp.gmail.com", 465, context=ssl.create_default_context())

server.login(account, password)
server.send_message(msg)
server.quit()

これをメモ帳か何かで"sendmail.py"などとして保存して、次のようにファイルをuploadします。

そして、bash consoleから実行するだけです。
python sendmail.py


参考にしたページなど:

初心者向け Pythonanywhereを使ってみよう
https://qiita.com/tonytani37/items/60c7185b7cc235f45daf

こちらでアカウントは作れるかと思います。

次は実際にスクレイピングしてそれをこのメール発信のしくみを作り、毎日決まった時間に届くところを紹介したいと思います!