博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【ME - Mail】之Spring
阅读量:6769 次
发布时间:2019-06-26

本文共 3924 字,大约阅读时间需要 13 分钟。

hot3.png

Sprring + Email

1. pom.xml
com.sun.mail
javax.mail
org.springframework
spring-context-support
2. 编辑:mail.properties文件中相关值
mail.smtp.user=mail.smtp.from=mail.smtp.password=
3. Freemarker不显示对象的属性值的原因
3.1 属性没有getter方法
3.2 对象是内部类的对象,最后变成普通的类就可以
4. 测试用例
package net.liuzd.java.mail.actuator;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.UnsupportedEncodingException;import java.net.MalformedURLException;import java.net.URL;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.mail.MessagingException;import org.junit.Assert;import org.junit.Test;import freemarker.core.ParseException;import freemarker.template.MalformedTemplateNameException;import freemarker.template.TemplateException;import freemarker.template.TemplateNotFoundException;import net.liuzd.java.mail.Actuator;import net.liuzd.java.mail.Assist;import net.liuzd.java.mail.User;import net.liuzd.java.mail.base.BaseJunit4Test;public class TestMailActuator extends BaseJunit4Test {    String to = "";    @Test    public void sendText() throws Exception {        Actuator.init().subject("文本邮件").body("您好!这是纯文本邮件哟!").to(to).send();        Assert.assertTrue(true);    }    @Test    public void sendHtml() throws Exception {        Actuator.init().subject("HTML邮件").body("

您好!

这是Html邮件,来个红色哟!").to(to).send(); Assert.assertTrue(true); } @Test public void sendFile() throws Exception { Actuator.init().attach("我的.png", toFile()).subject("HTML邮件").body( "

您好!

这是Html邮件,来个红色哟!").to(to).send(); Assert.assertTrue(true); } private File toFile() throws IOException { InputStream inputStream = TestMailActuator.class.getClassLoader().getResourceAsStream( "\\static\\images\\demo.png"); File file = new File("src\\test\\resources\\static\\images\\demo_tmp.png"); // return Assist.copy(inputStream, file); } @Test public void sendUrl() throws Exception { Actuator.init().attach("我的图片", toURL()).subject("HTML邮件").body( "

您好!

这是Html邮件,来个红色哟!").to(to).send(); Assert.assertTrue(true); } private URL toURL() throws MalformedURLException { return new URL("https://avatars1.githubusercontent.com/u/2784452?s=40&v=4"); } @Test public void send() throws Exception { Actuator.init().attach("test.png", toFile()).subject("HTML邮件").body( "

您好!

这是Html邮件,来个红色哟!").to(to).send(); Assert.assertTrue(true); } @Test public void urlImgEmail() throws UnsupportedEncodingException, MalformedURLException, MessagingException { String htmlMsg = "

您好!

这是Html邮件,来个红色
The apache logo - "; Actuator.init().subject("Html邮件+图片URL").body(htmlMsg).attach("Apache Logo", "https://www.apache.org/images/asf_logo_wide.gif").addInlines("myCid", "https://www.apache.org/images/asf_logo_wide.gif").to(to).send(); Assert.assertTrue(true); } @Test public void readTemplate() throws MessagingException, TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException, TemplateException { Map
model = new HashMap<>(); List
list = new ArrayList
(); list.add("Jack1"); list.add("Jack2"); list.add("Jack3"); model.put("list", list); // Freemarker不显示对象的属性值的原因 // 属性没有getter方法。这个比较奇葩,估计是freemarker显示属性调用的是getter方法,虽然写的是属性名称。 // 对象是内部类的对象。这个真的让我花了几个小时,没有任何错误提示,坑人呀。最后变成普通的类就可以了 model.put("user", new User("may", 21)); String htmlMsg = Assist.readFtl("user.ftl", model); System.out.println(htmlMsg); Assert.assertTrue(true); }}

转载于:https://my.oschina.net/liuzidong/blog/3050027

你可能感兴趣的文章
高性能Web服务之varnish应用详解及实战应用
查看>>
我的友情链接
查看>>
6月第2周网络安全报告:高危漏洞数量增加1.4倍
查看>>
java.io.FileNotFoundException的解决方法
查看>>
Docker容器管理--CentOS7安装docker
查看>>
理解Android Fragmentation问题
查看>>
Linux常用命令收集
查看>>
VIM的使用方法
查看>>
linux邮件系统的优势和便利性
查看>>
华为交换机通用配置方式方法
查看>>
【产品场景】弹性裸金属服务器服务于市场的技术概要分析
查看>>
linux 搭建 vnc
查看>>
RocketMQ源码分析之从官方示例窥探:RocketMQ事务消息实现基本思想
查看>>
Vsftpd 采用最安全的虚拟用户设置
查看>>
运维学习之路tar,dump,restore打包压缩备份篇
查看>>
51CTO博客弹出框精彩博文记录
查看>>
jQuery自定义插件
查看>>
分析游戏谈用户
查看>>
需求评审之实战演练
查看>>
LLVM/Clang On Windows 2013_09
查看>>