email.md 2.0 KB

邮件推送服务

需求分析

希望邮件推送服务能提供的功能

  • 可编程、可扩展(通过程序对接、改造)

    • 能够通过开发在程序逻辑或者管理界面中自动触发发送
    • 支持邮件发送验证码和邮件营销推送
    • 能够支持HTML的邮件内容,而HTML内容能够随时随地进行修改,方便美工和开发去调整
  • 可观测

    • 验证类邮件能够支持IP统计、次数统计,能够进行时间限制、防止恶意发送
    • 推送类邮件能够支持统计发送数量、发送成功率等反馈数据
  • 推送效率

    • 验证邮件要能在5-10秒内发送成功,到达率高
  • 用户友好

    • 用户可以退订推送类邮件

功能设计

  1. 邮件模板模块。通过模板功能来支持HTML邮件内容以及随时可更新替换的要求,通过模板里的关键词参数设计,来达到验证码、用户名、营销内容等动态输入。

  2. 验证码模块。用来支撑邮件验证码校验、请求限制等功能 (由调用方来限制,放入认证服务中)。

  3. 记录发送记录相关信息模块。记录所有发送记录,用于统计和分析。

  4. 管理后台模块。包括:用户管理、邮件模板配置、发送记录查询等基本支撑功能,在后台尽量以界面化实现管理。

  5. 将企业邮局和邮件推送服务分离;企业内外网邮件域隔离。 以域名 XXX.com 为例,一般企业邮局地为zhangsan@XXX.com 邮件服务不适合也以XXX.com为域,因为这会和企业邮局服务相互干扰(也不是没有规避方式,只是配置起来很麻烦) 隔离方案:增加一个二级域名,例如mail.XXX.com,邮件服务地址就是 service@mail.XXX.com


不建议自己搭邮件服务器,十分容易被拦截,即使使用ip池


参考:https://www.cnblogs.com/chuma/p/5694744.html https://www.cnblogs.com/tellerfuliye/articles/13156469.html


shoulder 以外的其他方案

https://gitee.com/52itstyle/spring-boot-mail