java发送邮件(4)
来源:互联网 发布:镜像变换矩阵是什么 编辑:程序博客网 时间:2024/06/06 05:00
我们的邮箱里,经常会收到一些非常精美的邮件(网站注册用户名发来的邮件,甚至有一些广告邮件),我们知道这些邮件都是一些HTML邮件,但是我们知道,要做出这样一个精美的HTML邮件,在程序中,我们得拼多少HTML和CSS代码啊,岂不是很烦。自从用了spring mail的邮件模板,妈妈再也不用担心我要拼网页代码啦。哈哈,没刹住啊。言归正传,这不是一句空话,利用spring mail的模板功能,我们可以在模板里写出HTML邮件,不用在发送邮件的程序里面去拼代码,而且更换邮件模板也变得非常简单。
spring mail利用模板发送邮件,主要用的的类当然,第三讲里讲的发送HTML邮件的JavaMailSenderImpl、MimeMessage和MimeMessageHelper这三个类是必须要的了,除此之外还要用到一个产生模板的类org.springframework.ui.velocity.VelocityEngineFactoryBean和模板类org.apache.velocity.app.VelocityEngine。这两个关系如下图:
发送模板邮件的代码如下所示:
程序代码:
public class SpringMailSender {private VelocityEngine velocityEngine; private JavaMailSenderImpl mailSender;public SpringMailSender() { mailSender = new JavaMailSenderImpl(); mailSender.setHost("smtp.qq.com"); mailSender.setUsername("249745552@qq.com"); mailSender.setPassword("linlinjiahong21"); Properties prop = System.getProperties();prop.put("resource.loader", "class");prop.put("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");VelocityEngineFactoryBean v = new VelocityEngineFactoryBean();v.setVelocityProperties(prop);try {velocityEngine = v.createVelocityEngine();} catch (VelocityException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}public void templateSend() throws MessagingException {Map<String, String> model = new HashMap<String, String>();// 邮件模板中参数进行传入model.put("user", "zhaojiahong");model.put("content", "Welcome");// 把邮件模板代码变换为String类型备用String emailText = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "index.vm", model);MimeMessage msg = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(msg, true);helper.setFrom(mailSender.getUsername()); helper.setTo("zhao.jiahong@yahoo.com"); helper.setSubject("model mail"); helper.setText(emailText, true); mailSender.send(msg);}public static void main(String[] args) throws MessagingException {SpringMailSender sender = new SpringMailSender();sender.templateSend();} }
邮件模板代码:
<html> <head> <style type="text/css"> h4{ color:red; background:#efefef; } </style> </head> <body> <h4>${user} </h4> <p><p> <i>${content}</i> </body> </html>把邮件模板放进一个index.vm文件中,放在src目录下即可。
这样,我们就完成了一个模板邮件的发送,如果我们要更换邮件模板,只需要更换index.vm文件即可,代码是不需要改动的。我们也可以做出好几个模板,在不同的情况下进行切换。从而方便快捷的发送各种精美的HTML邮件。
0 0
- java发送邮件(4)
- [java]Java发送邮件
- java 邮件发送 --- 简单的邮件发送
- JAVA发送邮件及springboot发送邮件
- java 发送邮件的4种方式
- java 发送邮件的4种方式
- java 发送邮件的4种方式
- 用java发送邮件
- 用Java发送邮件
- java发送邮件源码
- java发送邮件
- Java发送邮件
- Java发送邮件程序
- java发送Email邮件
- 怎样用java发送邮件
- 利用java发送邮件
- java 邮件发送
- java邮件发送
- 命令模式
- Objective-C关于含有多个参数的类对象方法的定义及实现
- Nginx+Keepalived实现Web服务器负载均衡
- Java(08-4)
- 学习方法
- java发送邮件(4)
- iOS 读书笔记-网络API
- 一次修复磁盘的记录 (ext4 mount: wrong fs type, bad option, bad superblock)
- 输出*的平行四边形 此法和那个等腰三角形一样
- 开更
- css实现会话气泡的效果
- 2015 Multi-University Training Contest 5
- 高德的移动位置服务(Location Based Service,LBS)
- java中使用非本地字体