外观
邮箱管理
TIP
邮件发送依赖Celery服务,使用前请先启动Celery服务。Celery启动命令参考:定时任务
使用说明
主界面
消息中心——邮箱管理,包括三部分:
- 邮箱账号
- 邮件模板
- 邮件记录
邮箱账号

以QQ邮箱为例,填写方法如下

登录QQ邮箱——设置——账号,开通POP3/SMTP服务

邮件模板
测试:点击测试,填写收件邮箱和相关参数,触发异步邮件发送。可以在邮件记录中查看发送结果。

新增邮件模板
- 模板内容:需要变化的内容,放在
{}里面 - 邮箱账号:关联上一步设置的邮箱账号,表示这封邮件,默认由该邮箱发出

TIP
一个邮箱账号可以关联多个邮件模板,被关联的邮箱账号不能删除。
邮件记录
点击详情:能看到邮件内容、发送状态和具体异常信息。

后端实现
目录
代码目录:
mysite\myapp_system\mail_account:邮箱账号mysite\myapp_system\mail_template:邮件模板mysite\myapp_system\mail_log:邮件记录
实现原理
文件mysite\myapp_system\tasks.py中,定义了底层Celery发送邮件任务。

文件mysite\myapp_system\mail_template\services.py的send_single_mail方法,对Celery发送邮件任务进行了封装。生成邮件日志,同时使用Celery异步发送邮件。

在视图中实现邮件发送示例:mysite\myapp_system\mail_template\views.py

前端实现
目录
代码目录:src\views\system\mail
sh
mail
├── account # 邮箱账号
│ ├── MailAccountDetail.vue
│ ├── MailAccountForm.vue
│ ├── account.data.ts
│ └── index.vue
├── log # 邮件记录
│ ├── MailLogDetail.vue
│ ├── index.vue
│ └── log.data.ts
└── template # 邮件模板
├── MailTemplateForm.vue
├── MailTemplateSendForm.vue
├── index.vue
└── template.data.ts