AstroMailer 🌌¶
约 509 个字 29 行代码 1 张图片 预计阅读时间 2 分钟
AstroMailer 是一个每日早安邮件发送器,它通过集成 NASA 天文每日一图(APOD)、词霸金句和百度翻译 API,为用户带来浪漫、温暖的早安邮件。
github地址: AstroMailer
功能概述¶
- 📧 每日发送早安邮件
- 附带 NASA 天文每日一图及其解释。
- 包含词霸每日金句(中英双语)。
- 邮件支持中英文翻译,并使用简洁优雅的 HTML 样式设计。
- 🌌 随机背景色和样式
- 邮件中的句子和背景配色采用动态随机生成,让每一天的邮件都有独特的风格。
- 🔄 缓存机制
- 使用 diskcache 缓存 NASA 图片和内容,减少重复 API 请求。
项目架构¶
AstroMailer 的主要功能分为以下模块:
- 邮件发送模块
- 使用 smtplib 实现邮件的发送。
- 支持 HTML 格式化邮件内容。
- API 调用模块
- 集成 NASA APOD API 获取每日天文图片和描述。
- 集成百度翻译 API 翻译图片描述为中文。
- 使用词霸 API 获取每日金句。
- 定时任务模块
- 使用 schedule 实现每天早上 8 点自动发送邮件。
- 缓存模块
- 使用 diskcache 缓存数据,避免频繁调用 API。
运行截图¶
📧 邮件示例
技术栈¶
-
编程语言: Python 3.10+
-
主要依赖:
- smtplib: 发送邮件
- schedule: 定时任务调度
- diskcache: 本地缓存
- requests: 调用 API
- PyYAML: 解析配置文件
-
API:
安装与运行¶
1. 克隆项目
2. 创建虚拟环境并安装依赖
Bash | |
---|---|
3. 配置环境
在 resources/config.yaml
文件中配置你的 API
密钥和邮件账户信息。
示例配置文件 config.yaml
:
4. 启动服务
直接运行
Bash | |
---|---|
docker
Bash | |
---|---|
贡献指南¶
欢迎贡献代码!如果你想为 AstroMailer 提交新的功能或修复 bug,请按照以下步骤操作:
- Fork 仓库。
- 创建新分支:
Bash | |
---|---|
- 提交代码并创建 Pull Request。
开源协议¶
本项目采用 Apache-2.0 license。
感谢使用 AstroMailer,让宇宙的浪漫点亮你的每一天!✨