Spring Cloud--多租户电子邮件发送系统设计与实现

网站建设3年前发布
24 0 0
20230306104403a638cf7220db2d6a905286dd977bb9357227a9481,在日常生活中,邮件已经被聊天软件、短信等更便捷的信息传送方式代替。但在日常工作中,我们的重要的信息通知等非常有必要去归档追溯,那么邮件就是不可或缺的信息传送渠道。对于我们工作中经常用到的系统,里面也基本都集成了邮件发送功能。SpringBoot提供了基于JavaMail的starter,我们只要按照官方的说明配置邮件服务器信息,即可使我们的系统拥有发送电子邮件的功能。但是,在我们GitEgg开发框架的实际业务开发过程中,有两个问题需要解决:一个是SpringBoot邮箱服务器的配置是配置在配置文件中的,不支持灵活的界面配置。另外一个是我们的开发框架需要支持多租户,那么此时需要对SpringBoot提供的邮件发送功能进行扩展,以满足我们的需求。,那么,基于以上需求和问题,我们对GitEgg框架进行扩展,增加以下功能:,同一个租户可以配置多个电子邮件服务器,但只可以设置一个服务器为启用状态。默认情况下,系统通知类的功能只使用启用状态的服务器进行邮件发送。在有定制化需求的情况下,比如从页面直接指定某个服务器进行邮件发送,那么提供可以选择的接口,指定某个服务器进行邮件发送。,邮箱服务器的配置,实际就是不同邮箱渠道的配置,这里我们将表和字段设计好,然后使用GitEgg自带代码生成器,生成业务的CRUD代码即可。,2023030610430702c004b04a4ef2d438e377456918be86589119769,20230306104404d87bf8407cd01058631619ff4227b390fcd414325,邮件模板数据库表设计:,邮件日志数据库表设计:,20230306104309c68c323389caf44a4aa215fdbb538b5d87e5dd643,2023030612070584e3cfd716dbc1e6baf76084f3033e3081d905899,上面的基本功能开发完成之后,那么我们就需要进行测试,这里选择两种类型的邮箱进行测试,一种是QQ邮箱,还有一种是阿里云企业邮箱。,QQ邮箱在配置的时候不能使用QQ的登录密码,需要单独设置QQ邮箱的授权码,下面是操作步骤:,20230306104310111994490947111a5cf6104abbc95bc7af4ee8271,20230306104310a843aa0441b15b3644009283fdbc23a51c18d7712,20230306104311c2901f772c4104450b8646d536838fe2ff055a836,阿里云企业邮箱的配置相比较而言就简单一些,配置的密码就是企业邮箱登录的密码。,2023030610440523c684141188f83f6326863c3f73c1913a4c0a701,2023030610440675e6e8c40e1818cf5300050760909cfc3f0f60539,20230306104533785b45888bdb7ab71f508999872d35aeb596a0337
© 版权声明

相关文章