java 发送邮件,可以选择spring接口或javamail,网上关于这两种方式的代码有很多。
如果需要发送html格式的邮件,使用模版会比较方便。
BodyPart html = new MimeBodyPart();
html.setContent(content, "text/html; charset=UTF-8");
其中content利用VelocityEngineUtils的mergeTemplateIntoString方法渲染。
String content = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "mailTemplate.vm", "GBK", map);
注意velocityEngine一定要这样配置,否则会乱码。乱的一塌糊涂~~~~
<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
<property name="velocityProperties">
<props>
<prop key="input.encoding">GBK</prop>
<prop key="output.encoding">GBK</prop>
<prop key="default.contentType">text/html; charset=GBK</prop>
</props>
</property>
</bean>
原因:(Eclipse下)右键点击你的mailTemplate.vm模版文件,选择属性Properties,发现
Eclipse中的Text File Encoding代表查看文件时的编码,也就是说文件本来的编码是GBK,所以你用GBK查看才不会乱码。如果本来是GBK的编码,在Eclipse中用UTF-8去查看,肯定显示乱码。
so,velocityEngine渲染时,同理,也需用GBK,否则无法解析你的vm或jsp模版文件。
而vm页面中的charset是搜索引擎用来解析的,跟渲染无关。
- 大小: 7.7 KB
分享到:
相关推荐
在实际应用中,你可能还需要考虑错误处理、邮件附件、多语言支持等问题,以及更复杂的模板引擎如FreeMarker或Velocity来动态生成HTML内容。希望这个概述能帮助你理解并实现自己的Java邮件发送功能。
Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎
在IT行业中,Velocity是一个强大的模板引擎,常用于生成动态内容,比如HTML页面、电子邮件模板定制等。本篇文章将深入探讨如何使用Velocity实现邮件模板的定制,以及与之相关的源码和工具。 首先,Velocity的基本...
Velocity 是基于Java的模板引擎,广泛应用在阿里集 体各个子公司。Velocity模板适用于大量模板使用的场景,支持复杂的逻辑运算,包含 基本数据类型、变量赋值和函数等功能。Velocity.js 支持 Node.js 和浏览器环境。...
集成sitemesh2和velocity时,可能会遇到页面乱码问题。这通常是由于字符编码设置不一致导致的。为解决这个问题,我们需要确保以下几个方面都使用了正确的字符编码: 1. **项目配置**:确保你的项目配置文件(如web....
根据提供的信息,我们可以详细探讨如何使用Spring框架结合Velocity模板引擎来实现邮件的自动化发送功能。这一过程涉及到Spring框架的基本配置、Velocity模板引擎的使用以及JavaMail API的应用。 ### Spring框架与...
### 邮件模板 Velocity 相关知识点 #### 一、引言 - **关于本指南** - 本指南旨在帮助页面设计者和内容提供者熟悉 Velocity 及其简单而强大的脚本语言——Velocity 模板语言 (VTL)。 - 本指南中的许多示例涉及...
接下来,通过Velocity引擎解析和渲染模板,生成最终的HTML输出。 例如,一个简单的Velocity模板可能如下所示: ```html <html> $title <h1>Welcome, $username! <p>Today is #formatDate($date, 'yyyy-MM-dd') ...
"Velocity"是一个强大的模板引擎,常用于动态生成HTML或者其他格式的文本,而"Itext"则是一款流行的Java库,专门用于创建和修改PDF文档。在这个场景中,我们将讨论如何结合Velocity和Itext来实现PDF的导出。 首先,...
Velocity 是一个开源的 Java 模板引擎,它允许开发者将业务逻辑与 HTML、XML 或其他格式的文档呈现分离开来,使得非程序员也能轻松地编辑网页布局。Velocity 被广泛应用于 Web 开发中,尤其是在 Apache Struts 和 ...
总的来说,Velocity模版引擎为开发者提供了强大的代码生成能力,特别是在MVC架构下,可以有效地提高开发效率,降低出错概率,使开发者能够更加专注于业务逻辑的实现,而不是繁琐的代码编写工作。通过掌握Velocity的...
- **Velocity** 是Apache软件基金会的一个开源项目,它提供了简单易用的API,用于生成HTML、XML等格式的文本。Velocity模板语言(VTL)使得开发者能够专注于内容,而无需关心页面布局。 - **FreeMarker** 同样是...
同时,还需要在代码中创建Velocity的上下文对象,并注入需要的数据,然后使用Velocity引擎渲染模板并生成代码。 7. **最佳实践**: 在实际应用中,可以结合Maven或Gradle的插件来实现代码生成任务,如MyBatis的...
**Velocity 引擎资源包详解** ...总的来说,Velocity 是一种强大的模板引擎,适合用于生成各种动态内容,如电子邮件、报告或 Web 页面。通过熟练掌握 Velocity,开发者可以提升 Web 应用的开发效率和质量。
Java Velocity模板引擎是一个强大的、轻量级的模板语言,它允许开发者将显示逻辑与业务逻辑分离,使得网页设计和后端代码更加独立。Velocity由Apache软件基金会开发,并广泛应用于Java Web应用中,提供动态内容生成...
标题 "spring velocity 发邮件(单发,群发,图片,附件)" 涉及到的是在Java开发中使用Spring框架集成Velocity模板引擎来发送电子邮件的功能。这个话题涵盖了多个知识点,包括Spring的邮件服务、Velocity模板引擎的应用...
** Velocity** 是一个开源的Java模板引擎,它的主要任务是将静态模板与动态数据相结合,生成最终的HTML或其他格式的输出。Velocity通过提供简洁的语法,使开发者能够专注于内容和结构,而不用关心页面的呈现细节。它...
### Velocity 模板引擎知识点详解 #### 一、Velocity简介及基本概念 Velocity与Freemarker、JSTL并称为Java Web开发中的三大标签技术。Velocity是一种基于Java的模板引擎,它允许Web开发者通过简单的模板语法来生成...
在IT行业中, Velocity是一款...通过以上方法,我们可以构建一个高效、可扩展的邮件发送系统,利用Velocity模板引擎的强大功能,使邮件内容更加个性化和多样化。在实际开发中,可以根据项目需求进行适当的调整和优化。
Velocity是Apache软件基金会的一个开源项目,它是一个基于Java的模板引擎,用于生成动态内容。Velocity通过将逻辑与呈现分离,使得开发者可以专注于业务逻辑,而设计师可以自由地设计页面布局,提高了开发效率和代码...