【个人作品】
用户与邮箱为一对多关系,统一进行邮件监听与邮件发送,主要功能:通讯录,收件箱,发邮件,收件规则,邮件分类,定时发送等。
项目整体采用 springboot+vue为基础框架,后端为MVC架构。使用spring security安全框架实现用户登录系统,系统表采用MySQL存储,使用jpa框架,业务表采用MongoDB。邮箱解析采用JavaMail驱动,使用smtp协议发送邮件,imap协议监听邮件。使用quartz任务调度框架实现邮件定时发送。邮件监听程序采用集群方式,监听方式为轮询,利用redis的发布订阅做消息队列中间件,redis缓存做任务池,实现cluster与后端的交互,后端实时计算任务总量平均分配,做到cluster负载均衡。使用websocket实现对前端的新邮件主动推送。前端采用vue+quasar,前端项目地址在github链接里有写,使用nginx当web容器,将项目部署到自己的服务器上