一、思路
需求:
- 实现在命令行里调用 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