一、背景介绍

最近我在开发一个跑团管理系统的数据导出功能,需求是将用户查询的成员信息、跑量统计等数据导出为 Excel 文件,并通过邮件自动发送至指定邮箱,而非让用户手动下载文件。

虽然功能逻辑看起来不复杂,但在实际开发过程中遇到了一些关键性问题:

导出 Excel 后发送邮件耗时较长,导致接口响应延迟;

QQ 邮箱 SMTP 校验严格,出现 550 The “From” header is missing or invalid 异常;

接口体验差,用户点击后需要等待很久才能收到响应。

于是我对整个流程进行了分析与重构,最终实现了高性能、高可用的数据导出 + 邮件发送功能。