2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Last updated at Posted at 2022-01-04

(2022/7/30 追記)
Gmailのポリシー変更により、gmailのアカウントではメールを発信できなくなりました。
代わりにmailgunというサービスで対応できました(無料)。
https://www.mailgun.com


クラウド上のサーバーで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 = "XXXXX@gmail.com" #書き換える
password = "ZZZZZ1234" #書き換える
 
# 送受信先
to_email = "YYYYY@gmail.com" #書き換えなくても大丈夫かも・・
from_email = "XXXXX@gmail.com" #書き換えなくても大丈夫かも・
 
# 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します。

PAスクリーンショット 2022-01-04 103740.png

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

スクリーンショット 2022-01-04 104126.png


参考にしたページなど:

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

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

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

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?