一、思路
需求:
- 實現在命令行里調用 Python 腳本實現發送郵件,通過給腳本傳入不同的參數,實現給不同的人發送不同內容的郵件信息。
- 同時要支持命令行指定選項和參數的方式,也支持從配置文件導入的方式。
二、代碼
1. 先創建一個自定義的類 SendMail
, 并且繼承 cli.Application
在 SendMail
中定義如下內容:
a. 版本號
b. 收件人列表(to_emails)
c. SMTP 信息
d. 定義指定配置文件的選項
image.png
2. 設置子命令 register
用于注冊賬號信息到操作系統的密鑰環中
在子命令 register
中,配置關于 SMTP 的如何指定賬戶和授權密碼的參數選項。
這里使用了密鑰環的方式。目前測試的結果是,存在部分操作系統版本不兼容的情況。
image.png
3. 定義子命令 send
用于發送郵件
image.png
4. 定義主邏輯函數
image.png
image.png