feat(email): 添加发件人邮箱字段并优化邮件发送逻辑

添加独立的sender_email字段作为发件人邮箱,优先使用该字段而非smtp_username
更新相关表单、模型和测试用例以支持新字段
重构邮件发送逻辑,统一邮箱格式验证和错误提示
This commit is contained in:
2026-01-18 18:35:09 +08:00
parent 2320133c20
commit e22bd4a8c3
5 changed files with 107 additions and 45 deletions

View File

@@ -98,3 +98,45 @@
2026-01-18 18:02:57.874 | INFO | __main__:main:601 - 3. ❌ 检查网络连接
2026-01-18 18:02:57.874 | INFO | __main__:main:602 - 4. 参考README中的邮件配置章节
2026-01-18 18:02:57.874 | INFO | __main__:main:603 - 5. 查看详细错误日志
2026-01-18 18:13:08.550 | INFO | __main__:test_celery_email_config:36 - Celery配置信息:
2026-01-18 18:13:08.550 | INFO | __main__:test_celery_email_config:45 - CELERY_BROKER_URL: redis://:xjjq1234!@***
2026-01-18 18:13:08.552 | INFO | __main__:test_celery_email_config:45 - CELERY_RESULT_BACKEND: redis://:xjjq1234!@***
2026-01-18 18:13:08.552 | INFO | __main__:test_celery_email_config:47 - CELERY_TIMEZONE: Asia/Shanghai
2026-01-18 18:13:08.555 | INFO | __main__:test_celery_email_config:58 - 邮件配置信息:
2026-01-18 18:13:08.555 | WARNING | __main__:test_celery_email_config:61 - smtp_server: 未配置
2026-01-18 18:13:08.555 | INFO | __main__:test_celery_email_config:63 - smtp_port: 587
2026-01-18 18:13:08.555 | WARNING | __main__:test_celery_email_config:61 - smtp_username: 未配置
2026-01-18 18:13:08.555 | WARNING | __main__:test_celery_email_config:61 - recipient_email: 未配置
2026-01-18 18:13:08.555 | ERROR | __main__:test_celery_email_config:77 - 缺少必要的配置: smtp_server, smtp_username, smtp_password
2026-01-18 18:13:08.556 | INFO | __main__:main:597 -
[测试2] Celery Worker状态检查
2026-01-18 18:13:08.556 | INFO | __main__:test_celery_worker_status:119 - 检查Celery Worker状态...
2026-01-18 18:13:12.720 | WARNING | __main__:test_celery_worker_status:148 - 获取Worker状态失败: Error 10061 connecting to localhost:6379. 由于目标计算机积极拒绝,无法连接。.
2026-01-18 18:13:16.768 | WARNING | __main__:test_celery_worker_status:164 - 获取活跃任务失败: Error 10061 connecting to localhost:6379. 由于目标计算机积极拒绝,无法连接。.
2026-01-18 18:13:20.827 | WARNING | __main__:test_celery_worker_status:175 - 获取计划任务失败: Error 10061 connecting to localhost:6379. 由于目标计算机积极拒绝,无法连接。.
2026-01-18 18:13:20.828 | INFO | __main__:main:602 -
[测试3] Celery异步邮件任务测试
2026-01-18 18:13:20.828 | INFO | __main__:test_celery_email_task:520 - 开始测试Celery异步邮件任务...
2026-01-18 18:13:20.830 | INFO | __main__:test_celery_email_task:530 - 发送Celery邮件任务到队列...
2026-01-18 18:15:09.488 | ERROR | __main__:test_celery_email_task:573 - Celery邮件任务测试失败:
Retry limit exceeded while trying to reconnect to the Celery redis result store backend. The Celery application must be restarted.
2026-01-18 18:15:09.490 | INFO | __main__:test_celery_email_task:574 - 可能的原因:
2026-01-18 18:15:09.490 | INFO | __main__:test_celery_email_task:575 - 1. Celery worker未运行
2026-01-18 18:15:09.491 | INFO | __main__:test_celery_email_task:576 - 2. Redis连接问题
2026-01-18 18:15:09.492 | INFO | __main__:test_celery_email_task:577 - 3. 任务执行超时
2026-01-18 18:15:09.493 | INFO | __main__:main:607 -
[测试4] 同步发送测试邮件
2026-01-18 18:15:09.505 | ERROR | __main__:main:672 - 同步邮件测试失败: 未配置发件邮箱
2026-01-18 18:15:09.506 | INFO | __main__:main:675 -
============================================================
2026-01-18 18:15:09.506 | INFO | __main__:main:676 - 测试总结:
2026-01-18 18:15:09.508 | INFO | __main__:main:677 - 通过测试: 1/4
2026-01-18 18:15:09.508 | INFO | __main__:main:678 - ============================================================
2026-01-18 18:15:09.509 | ERROR | __main__:main:700 - 多数测试失败Celery邮件功能异常。
2026-01-18 18:15:09.510 | INFO | __main__:main:701 -
紧急处理:
2026-01-18 18:15:09.510 | INFO | __main__:main:702 - 1. ❌ 检查Celery worker: sudo supervisorctl status celery_worker
2026-01-18 18:15:09.511 | INFO | __main__:main:703 - 2. ❌ 检查Redis: sudo systemctl status redis-server
2026-01-18 18:15:09.512 | INFO | __main__:main:704 - 3. ❌ 检查SMTP配置
2026-01-18 18:15:09.513 | INFO | __main__:main:705 - 4. ❌ 查看日志: tail -f /var/log/celery/worker.log