`
yingruochen
  • 浏览: 75230 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

使用模版来创建邮件内容

 
阅读更多

通过前面的示例,所有邮件的内容都是现实定义的,并通过message.setText("XXXX")来设置的,如果要改变内容的格式就需要手动的写HTML代码,不易于维护,使用模板可以将业务逻辑和页面分开,易于页面的维护

一、Velocity模版:

定义实现类:

package com.mail.sender;

import com.mail.service.OrderManager;
import org.apache.velocity.app.VelocityEngine;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.mail.javamail.MimeMessagePreparator;
import org.springframework.ui.velocity.VelocityEngineUtils;

import javax.activation.MailcapCommandMap;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;
import java.util.HashMap;
import java.util.Map;

/**
 * Created by IntelliJ IDEA.
 * User: Administrator
 * Date: 12-6-13
 * Time: 下午2:57
 * To change this template use File | Settings | File Templates.
 */
public class SimpleVelocity implements OrderManager{

    private JavaMailSender javaMailSender;

    private VelocityEngine velocityEngine ;

    public void setJavaMailSender(JavaMailSender javaMailSender) {
        this.javaMailSender = javaMailSender;
    }

    public void setVelocityEngine(VelocityEngine velocityEngine){
        this.velocityEngine = velocityEngine ;
    }

    private void senderEmail(){

    }
    public void placeOrder() throws MessagingException {
        MimeMessagePreparator preparator = new MimeMessagePreparator() {
            public void prepare(MimeMessage mimeMessage) throws MessagingException {
                MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
                message.setTo(" XXX@qq.com");
                message.setFrom("XXX@qq.com");
                Map model = new HashMap() ;
                model.put("see","Welocoming");
                String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine,"/mail.vm",model);
                message.setText(text,true);
            }
        };
        this.javaMailSender.send(preparator);
    }
}

编写配置文件:

 <bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
        <property name="velocityProperties">
            <props>
                <prop key="resource.loader">class</prop>
                <prop key="class.resource.loader.class">
                    org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
                </prop>
            </props>
        </property>
    </bean>

    <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="smtp.qq.com"/>
        <property name="defaultEncoding" value="UTF-8"/>
        <property name="username" value="XXXX@qq.com"/>
        <property name="password" value="XXXX"/>
        <property name="javaMailProperties">
            <value>
                mail.smtp.auth=true
            </value>
        </property>
    </bean>
    <bean id="simpleVelocity" class="com.mail.sender.SimpleVelocity">
        <property name="javaMailSender" ref="mailSender"/>
        <property name="velocityEngine" ref="velocityEngine"/>
    </bean>

 接下来写模版:

<html>
<body>
${see}
</body>
</html>

 测试一下看效果:


 

 

 

 

 

  • 大小: 1 KB
分享到:
评论

相关推荐

    html邮件发送模板

    可以使用媒体查询来调整在移动设备上的显示,但需要注意,一些邮件客户端不支持媒体查询,所以需要谨慎使用。 6. **字符编码**:确保邮件内容使用正确的字符集,如UTF-8,以支持多种语言和特殊字符。 7. **测试**...

    基于Java的邮件发送模板

    本篇文章将详细讲解如何利用Java实现邮件发送,并结合Apache的相关库来创建邮件发送模板,以提升效率和用户体验。 首先,JavaMail API是Java中用于处理电子邮件的主要库。它提供了丰富的API,可以用来创建、发送和...

    Java通过内容模板发送邮件,支持附件

    首先,这个项目可能使用了某种模板引擎,如FreeMarker或Velocity,来动态生成邮件内容。这些模板引擎允许开发者创建HTML或者其他格式的文本模板,然后将数据模型注入到模板中,生成定制化的邮件内容。例如,你可以...

    HTML邮件模板Email Newsletter Template Blue

    这可能意味着需要避免使用某些高级CSS特性,转而依赖表格布局来构建内容。 2. **响应式设计**:现代邮件模板应具备响应式设计,能适应不同设备的屏幕尺寸,如手机、平板和桌面电脑。通过媒体查询和灵活的布局,确保...

    使用PostcardsEmailBuilder创建的免费HTML电子邮件模板

    4. **CSS支持**:尽管Postcards主要用于简化电子邮件模板的创建,但它仍然支持CSS,这意味着开发者可以使用CSS进行更精细的样式调整,以实现特定的设计要求。 5. **导出和集成**:完成设计后,用户可以将模板导出为...

    使用kindeditor实现自定义邮件模板,后台根据不同数据动态生成邮件进行发送,前端简单实现demo

    它可以帮助用户在前端创建和编辑邮件模板,包括添加文字、图片、链接等元素。在本项目中,KindEditor被用于让用户在前端界面自由设计邮件的布局和内容,形成自定义的邮件模板。 **邮件模板** 邮件模板是预设的邮件...

    velocity实现邮件模板定制

    2. **创建模板文件**:使用文本编辑器创建一个`.vm`文件,定义邮件内容的结构,并在其中插入VTL表达式。 3. **设置上下文**:在Java代码中,创建一个`VelocityContext`对象,用来存放模板中需要用到的数据。例如,`...

    邮件模板html

    在IT行业中,HTML(HyperText Markup Language)是一种用于创建网页的标准标记语言,它同样被广泛应用于制作电子邮件模板。邮件模板HTML是一种设计精美的、结构化的邮件格式,它可以使电子通讯更具吸引力,提升品牌...

    java实现模板邮件发送

    在本文中,我们将深入探讨如何使用Java来创建和发送带有模板的电子邮件。 首先,我们需要理解Java中用于邮件发送的核心API:JavaMail API。这是一个开源库,提供了丰富的接口和类用于构建邮件系统。在JavaMail API...

    简洁的邮件CSS模板_简洁 邮件 邮箱 灰色.zip

    本资源"简洁的邮件CSS模板_简洁 邮件 邮箱 灰色.zip"提供了一个专门针对电子邮件设计的CSS模板,它具有简洁、灰色调的特点,适用于创建专业且吸引人的电子邮件通讯。 电子邮件设计与普通的网页设计有所不同,因为...

    Java发送带模版的邮件示例

    JavaMail API提供了一种标准的方式来处理邮件的发送,而结合模板技术,我们可以创建出更加专业和美观的邮件内容。本示例将详细介绍如何在Java中使用模板发送邮件,以及相关的知识点。 首先,你需要了解JavaMail API...

    设定foxmail默认邮件模板

    在电子邮件的日常使用中,有时我们需要批量发送类似内容的邮件,这时设置默认邮件模板就显得尤为重要。Foxmail作为一款功能强大的邮件客户端,提供了创建和管理邮件模板的功能,可以帮助用户更高效地进行邮件群发。...

    T4模板生成邮件

    在C#项目中,我们通常使用编程模板来生成邮件相关的类或文件。 在C#中,T4模板以`.tt`文件形式存在,这个文件包含两部分:模板指令和普通文本。模板指令以`&lt;# #&gt;`包裹,这部分代码会被执行并替换为生成的文本。普通...

    Python-TemplateMail是一个简单的Python库用于使用模板语言Jinja2来发送邮件

    5. **设置数据**:根据需要,创建一个字典来存储邮件的动态数据,如`data = {'name': 'John', 'message': 'Hello World!'}`。 6. **渲染邮件**:将数据传递给模板,生成邮件内容,`content = template.render(data)`...

    利用foxmail模板批量生成邮件

    1. **Foxmail邮件模板**:Foxmail允许用户创建自定义模板,这些模板可以包含预设的文本、格式、图片甚至签名,以便在需要时快速生成新的邮件。通过模板,用户无需每次手动输入相同或相似的内容,只需选择相应的模板...

    Spring中使用FreeMaker或Vilocity模板发送邮件

    `sendEmailWithFreeMarker`和`sendEmailWithVelocity`方法展示了如何使用这两种模板引擎来生成邮件内容并发送。 总结来说,Spring结合FreeMarker或Velocity模板引擎可以方便地实现动态生成邮件内容,提供了一种灵活...

    邮件模板发送(SendMailTemplate)

    其次,邮件模板的创建可以借助各种工具,如代码编辑器(如Visual Studio Code)、专门的邮件模板构建器(如MailChimp或Campaign Monitor)或者CMS(内容管理系统)中的内置功能。在创建过程中,需要确保模板内容简洁...

    NodeMailer:使用节点邮件程序和工具栏模板发送电子邮件

    4. **模板引擎**:NodeMailer支持使用模板来创建邮件内容,这样可以保持邮件格式的一致性和动态插入数据。常见的模板引擎有Nunjucks、Pug、Handlebars等。 ### 使用NodeMailer发送带有模板的电子邮件 1. **安装...

    java发送HTML模版邮件

    在实际应用中,你可能还需要考虑错误处理、邮件附件、多语言支持等问题,以及更复杂的模板引擎如FreeMarker或Velocity来动态生成HTML内容。希望这个概述能帮助你理解并实现自己的Java邮件发送功能。

    邮件系统模板 DIV+CSS

    "邮件系统模板 DIV+CSS"这个主题,指的是使用HTML的结构元素`&lt;div&gt;`和层叠样式表(CSS)来设计和布局电子邮件模板,以实现更灵活、响应式和一致的视觉效果。下面我们将深入探讨这一主题。 首先,`&lt;div&gt;`元素在HTML中...

Global site tag (gtag.js) - Google Analytics