開発環境
- macOS Catalina - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Python 3.7 (プログラミング言語)
退屈なことは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 コメント:
コメントを投稿