通过spring实现javamail的那些事儿
来源:互联网 发布:中文版热力学模拟软件 编辑:程序博客网 时间:2024/05/16 04:06
以前很早的时候大家都用javamail实现发送邮件的功能,而且我们也一直沿用至今,代码拷过来用用就行了,现在我们改为用spring来实现,这样一来减少代码的复杂度,也能更好的契合spring理念
首先spring的相关jar包都是要引入的,其次要引入mail.jar
然后需要配置一个spring-mail.xml这样的文件,如果不新建,也可以在service中加入就行,但是为了做更好的分层,还是分开较好
配置spring的javamail发送器,这边配置了qq邮箱和qq企业邮箱的配置,需要注意的是host是不同的,另外如果是个人qq邮箱,需要使用授权码,授权码在qq邮箱中查看即可,而企业邮箱就是企业管理员分配的登录密码即可
附带一提网易邮箱是多么的坑爹:
使用网易邮箱会莫名报554的错误,也是就是说认定你的邮件是垃圾邮件,重复发送同一份邮件,内容一致,或者带有相关关键字,都会被列为垃圾邮件,然后会禁止30分钟左右,非常不人性化,所以不建议使用163作为发送器
配置邮箱的发送者以及标题,这个不写也可以,可以在发送的时候直接配置都行
最后的配置是freemarker模板,为何要模板,因为我们平时发送邮件会有很多不同的分类,分类配置在枚举中,根据不同的分类去选择不同的模板,一般来说注册码,密码重置,活动页面等等都需要作为一个单独的HTML来发送,而一个HTML我们不可能会以servlet的形式把标签都写在java代码中,所以采用模板来实现,是最好的方式:
配置模板路径
填充模板内容
编写邮件发送器
一方面从freemarker中构建邮件内容,一方面再执行mail发送操作
最后在需要调用的地方执行就行
然后收到的邮件内容就如下
需要注意的是,这么做发送邮件由于单线程操作是不可取的,可以参考之前的多线程,执行多线程操作,或者引入消息队列RMQ或者AMQ来发送邮件,异步操作优于同步操作。
- 通过spring实现javamail的那些事儿
- spring的那些事儿
- spring ApplicationContextAware的那些事儿
- 通过spring实现javamail发送邮件功能
- 通过spring实现javamail发送邮件功能
- 聊聊Spring Cloud版本的那些事儿
- 聊聊Spring Cloud版本的那些事儿
- 说说Spring Cloud版本的那些事儿。
- Spring的JavaMail实现异步发送邮件
- 明朝的那些事儿
- Oracle 的那些事儿
- VC++的那些事儿
- 游戏的那些事儿
- 编译器的那些事儿
- 找工作的那些事儿
- 北爱尔兰的那些事儿
- 数组的那些事儿~
- 密码的那些事儿
- 文章标题
- 7. Python 结巴中文分词
- Java虚拟机体系结构由几部分组成?
- Ubuntu 16.04 安装 tensorflow
- 字符指针与字符数组真正的区别
- 通过spring实现javamail的那些事儿
- 使用PTGui用360度全景图制作Unity3D天空盒
- Grading of Gliomas by Using Radiomic Features on Multiple Magnetic Resonance Imaging (MRI) Sequences
- mysql授权命令
- webrtc vad小bug
- linux安装python2.7
- 位运算符
- easyui datagrid 多一列
- 银行的投资估值表解析