Skip to content

基于rocketmq、redis搭建的独立邮件服务器,利用rocketmq 消息队列 降低了邮件发送服务与系统其他模块之间的耦合性,同时利用rocketmq消息队列的特性达到异步发送邮件通知的效果,提升用户体验,利用redis天然的幂等性,保证了消息消息的幂等性。

Notifications You must be signed in to change notification settings

Tjoker-cell/mail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mail

基于rocketmq、redis搭建的独立邮件服务器,降低了系统各模块之间的耦合性,同时利用rocketmq消息队列的特性达到异步发送邮件通知的效果,提升用户体验,利用redis天然的幂等性,保证了消息消息的幂等性。

组织结构

mailserver
├── config -- redis配置
├── mapper -- 消息日志映射类
├── model --  模型层
├── receive -- 消息消息及邮件发送
├── service -- 业务处理层
├── task -- 定时任务
└── util -- redis、mq工具类
example 搭建mailserver的例子

技术选型

技术 说明
rocketmq 邮件服务器核心
redis 保证消息消息幂等性
thymeleaf 模板引擎生成邮件
springboot 项目搭建框架
mybatis ORM框架

开发环境

工具 版本号
JDK 1.8
Mysql 5.7
Redis 5.0
RocketMQ 4.5.2
SpringBoot 2.5
Mybatis 2.1.1

快速开始

Windows环境部署

  • 在本地项目中添加 mailserver 模块

  • mailserver中的application.properties文件内容复制到本地项目中的 application.properties中根据自己项目搭建环境修改相应配置

  • 在需要发送邮件功能注入 RocketmqUtil

  • 调用RocketmqUtil中的 recordLogs 方法,将MsgMQ作为参数传递此方法中

  • 注意:项目正常运行的前提是,项目环境已正确搭建并在配置文件中正确配置

  • 如需更改邮件模板,请在mail.htmlMailServer中进行相应修改

    可以参考 example 模块进行使用

学习本项目

MailServer相关博客

About

基于rocketmq、redis搭建的独立邮件服务器,利用rocketmq 消息队列 降低了邮件发送服务与系统其他模块之间的耦合性,同时利用rocketmq消息队列的特性达到异步发送邮件通知的效果,提升用户体验,利用redis天然的幂等性,保证了消息消息的幂等性。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published