相关文章:
上次给大家分享了怎样发送简单邮件,本次给大家继续分享附件的发送、内嵌html、模版文件的发送。
发送带附件的邮件:
Multipart email允许添加附件和内嵌资源(inline resources);
使用一个简单的JPEG图片作为附件,android.png放在工程的根目录,以相对路径的方式加载。
发送内嵌资源的邮件:
内嵌资源可能是你在信件中希望使用的图像或样式表,但是又不想把它们作为附件。
内嵌资源源使用Content-ID(上例中是android.png)来插入到mime信件中去。
加入文本和资源的顺序是非常重要的。
首先,先加入文本,随后是资源。
如果顺序弄反了,它将无法正常运作哦!
使用Velocity模板来创建邮件内容:
在之前的代码示例中,所有邮件的内容都是显式定义的,并通过调用message.setText(..)来设置邮件内容。
而在企业级应用程序中, 基于如下的原因,可能不会以上述方式创建你的邮件内容:
1.使用Java代码来创建基于HTML的邮件内容不仅容易犯错,同时也是一件麻烦的事情
2.将无法将显示逻辑和业务逻辑很明确的区分开
3.一旦需要修改邮件内容的显式格式和内容,你需要重新编写Java代码,重新编译,重新部署……
一般来说解决这些问题的典型的方式是使用FreeMarker或者Velocity这样的模板语言来定义邮件内容的显式结构。
这样,只要创建在邮件模板中需要展示的数据,并发送邮件即可。
通过使用Spring对FreeMarker和Velocity的支持类, 你的邮件内容将变得简单,这同时也是一个最佳实践。
下面是一个使用Velocity来创建邮件内容的例子:
使用Velocity模板发送邮件的具体开发步骤:
一、添加Velocity依赖的jar文件
二、Classpath路径添加模版文件velocity.vm
三.模型对象User
四、WelcomeService业务对象
五、Junit
六、等着收邮箱吧
你还在等什么,赶紧试试吧。
相关推荐
在一些项目里面如进销存系统,对一些库存不足发出预警提示消息,招聘网站注册用户验证email地址等都需要用到邮件发送技术。
JavaEE源代码 spring-toplinkJavaEE源代码 spring-toplinkJavaEE源代码 spring-toplinkJavaEE源代码 spring-toplinkJavaEE源代码 spring-toplinkJavaEE源代码 spring-toplinkJavaEE源代码 spring-toplinkJavaEE源...
spring-framework-2.0 Java源代码,spring2源代码
spring进阶
编写邮件发送代码:可以通过JavaMailSender接口的实现类来发送邮件。Spring Boot提供了MailSenderAutoConfiguration来简化这一过程。你可以创建一个邮件信息类(如MailVo),包含邮件主题、收件人、内容等信息,然后...
程序员编程指南 | Java、Spring、SpringBoot等等基础|进阶|源码知识点 & 面试宝典 -- 建议使用Obsidian阅读
标签:springframework、spring、messaging、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明...
标签:spring、alibaba、context、support、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明...
spring-framework-2.5-rc2-with-dependencies\spring-framework-2.5-rc2\spring-framework-2.5-rc2源代码
基于spring boot -MySQL -Java实现图书信息管理系统(可作为毕业设计)
springboot 整合spring-boot-starter-mail 发邮件
标签:alibaba、druid、spring、boot、starter、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和...
标签:springframework、data、spring、commons、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和...
基于springboot的校园二手交易平台系统代码 - java -spring-springboot-代码-校园二手交易-代码 1、技术栈:微信小程序,springboot,uniapp,vue,ajax,maven,mysql,MyBatisPlus 2、系统的实现 用户信息 图片...
标签:spring、security、springframework、crypto、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释...
spring-cloud-config + spring-cloud-bus-amqp实现分布式集群配置动态更新,可更新实例对象,包含源码包+Rabbitmq安装包和安装说明
基于springboot的图书馆管理系统代码 - java - springboot-spring- mybatis - 代码 1、技术栈:微信小程序,springboot,uniapp,vue,ajax,maven,mysql,MyBatisPlus 2、系统的实现 用户信息 图片素材 视频素材...
标签:springframework、data、spring、keyvalue、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和...
标签:cloud、spring、openfeign、core、springframework、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持...