2020年3月17日火曜日

開発環境

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング (Al Sweigart(著)、相川 愛三(翻訳)、オライリージャパン)の第Ⅱ部(処理の自動化)、16章(電子メールやSMSの送信)、16.9(演習プロジェクト)、16.9.1(雑用ランダム割り当てメーラー)の解答を求めてみる。

コード

#!/usr/bin/env python3
import random
import smtplib
from typing import List

my_email: str = 'xxxxx@example.com'
my_password: str = 'MY_SECRET_PASSWORD'
emails: List[str] = [f'{0}@gmail.com' for n in range(4)]
chores: List[str] = ['皿洗い', 'トイレ掃除', '掃除機がけ', '犬の散歩']

while True:
    random_email: str = random.choice(emails)
    emails.remove(random_email)
    random_chore: str = random.choice(chores)
    chores.remove(random_chore)

    smtp_obj = smtplib.SMTP('smtp.example.com', 587)
    smtp_obj.ehlo()
    smtp_obj.starttls()
    smtp_obj.login(my_email, my_password)
    smtp_obj.sendmail(my_email, random_email, f'Subject: 雑用\n{random_chore}')
    smtp_obj.quit()

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% mypy sample1.py 
Success: no issues found in 1 source file
%

0 コメント:

コメントを投稿