feat: 添加基金邮件定时发送功能并优化邮件内容格式

- 新增宝塔面板定时任务脚本 cron_send_email.php
- 添加手动发送邮件按钮到管理界面
- 使用PHPMailer替代原始SMTP实现
- 优化邮件内容格式,按涨跌幅排序基金数据
- 增加邮件发送时间窗口判断逻辑
- 更新项目文档说明定时任务配置
This commit is contained in:
LL
2025-12-12 17:10:03 +08:00
parent 354133d6e4
commit 69ef47412d
13 changed files with 395 additions and 197 deletions

View File

@@ -176,6 +176,11 @@
- 系统默认在工作日14:30自动发送基金状态邮件
- 可通过`test_fund_email.php`手动测试邮件发送
- 可在`api.php`中修改发送时间配置
- **宝塔面板定时触发**:使用专用脚本`cron_send_email.php`支持宝塔面板定时任务调用,无需管理员权限
```bash
C:/xampp/php/php.exe C:/xampp/htdocs/2/cron_send_email.php
```
需根据实际安装路径调整PHP和脚本路径
## 8. 代码结构和核心类
@@ -185,12 +190,12 @@
**主要方法:**
- `__construct()`:类初始化,创建必要的目录和配置文件
- `__construct()`:类初始化,创建必要的目录和配置文件,设置时区
- `loadEmailConfig()`:加载邮箱配置
- `sendEmail()`使用Socket直接连接SMTP服务器发送邮件
- `shouldSendEmail()`:判断是否应该发送邮件(时间条件检查)
- `shouldSendEmail()`:判断是否应该发送邮件(时间条件检查支持±5分钟误差
- `sendFundStatusEmail()`:发送基金状态邮件
- `getFundData()`:获取基金实时数据
- `getFundData()`:获取基金实时数据(按涨跌幅从高到低排序)
- `getFundChartData()`:获取基金历史净值数据
- `updateStats()`:更新访问统计
@@ -338,6 +343,8 @@ function logDebug($message) {
| 1.1 | 2025-02-20 | 添加邮件推送功能 |
| 1.2 | 2025-03-10 | 优化基金数据缓存机制 |
| 1.3 | 2025-04-05 | 添加深色主题支持 |
| 1.4 | 2025-12-12 | 更新邮件内容格式:将"涨跌幅"与"昨日涨跌幅"列互换位置,并确保基金数据按涨跌幅从高到低排序 |
| 1.5 | 2025-12-12 | 优化邮件推送时间判断逻辑,添加时区设置,创建专用定时任务脚本 `cron_send_email.php` 支持宝塔面板定时触发
## 14. 联系方式
@@ -345,8 +352,8 @@ function logDebug($message) {
---
**文档更新日期**2025-04-10
**文档版本**1.0
**文档更新日期**2025-12-12
**文档版本**1.5
---