设计思考 - 邮件发送系统

邮件系统有以下几个模块构成

1. 主题登记模块:

   主题其实是邮件的分类系统。主题可以带有多个tag. 

2. 邮件订阅模块:

   用于维护每一个主题的接受者列表。可以支持插件, 邮件发送模块在查找订阅者的时候,逐个询问插件,他是否想要添加更多订阅者。用于动态构建接受者列表。例如,很多系统中都是,将某一特定主题的邮件发送给具有特定角色的人。这些人是随时都在变化的。所以需要在发送邮件的时候,通过插件动态获取。

3. 邮件登记模块:

   登记需要发送邮件。邮件的根据不同的分类方法 可以有多种:

  1. 根据在登记的时候是否提供全部内容分为:
    1. 静态邮件:静态邮件在登记的时候,整个邮件的内容都已经确定了
    2. 动态邮件:动态邮件的内容是在发送之时,通过询问邮件的发送者,实时生成。
  2. 根据是否需要多次发送分为:
    1. 单次邮件:发送一次就结束
    2. 定时邮件:会多次发送的邮件,比如,每周一和周三的中午发送统计数据等等。
  3. 根据是否使用模板文件分为:
    1. 格式化邮件: 邮件的内容是通过模板+数据生成的
    2. 自由邮件:邮件的内容,是没有格式的。

4. 邮件生成模块:在发送邮件前,先要生成邮件。根据不同的类型,有不同的生成方式

5. 邮件模板模块:  维护邮件模板,根据模板和数据生成邮件,提供预览功能等。

 

 

 

  

你可能感兴趣的:(邮件发送)