- 浏览: 833947 次
文章分类
- 全部博客 (365)
- java (124)
- spring mvc (21)
- spring (22)
- struts2 (6)
- jquery (27)
- javascript (24)
- mybatis/ibatis (8)
- hibernate (7)
- compass (11)
- lucene (26)
- flex (0)
- actionscript (0)
- webservice (8)
- rabbitMQ/Socket (15)
- jsp/freemaker (5)
- 数据库 (27)
- 应用服务器 (21)
- Hadoop (1)
- PowerDesigner (3)
- EJB (0)
- JPA (0)
- PHP (2)
- C# (0)
- .NET (0)
- html (2)
- xml (5)
- android (7)
- flume (1)
- zookeeper (0)
- 证书加密 (2)
- maven (1)
- redis (2)
- cas (11)
最新评论
-
zuxianghuang:
通过pom上传报错 Artifact upload faile ...
nexus上传了jar包.通过maven引用当前jar,不能取得jar的依赖 -
流年末年:
百度网盘的挂了吧???
SSO单点登录系列3:cas-server端配置认证方式实践(数据源+自定义java类认证) -
953434367:
UfgovDBUtil 是什么类
Java发HTTP POST请求(内容为xml格式) -
smilease:
帮大忙了,非常感谢
freemaker自动生成源代码 -
syd505:
十分感谢作者无私的分享,仔细阅读后很多地方得以解惑。
Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
先搞一个增加背景图片
首先要准备图片,这个图片可以是本地的也可以是远程的
如果你使用本地的,那么会有一些问题,稍后再说,大家也帮忙给看看问题
如果是使用了远程,那很简单,就是发送一个HTML格式的邮件而已:
- package com.mail;
- import java.util.Date;
- import java.util.Properties;
- import javax.mail.BodyPart;
- import javax.mail.Message;
- import javax.mail.Multipart;
- import javax.mail.Session;
- import javax.mail.Transport;
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeBodyPart;
- import javax.mail.internet.MimeMessage;
- import javax.mail.internet.MimeMultipart;
- import javax.mail.internet.MimeUtility;
- public class HtmlMail {
- public static void main(String[] args) throws Exception {
- Properties props = new Properties();
- props.put( "mail.smtp.host ", "smtp.163.com ");
- props.put("mail.smtp.auth", "true");
- Session session = Session.getInstance(props);
- Message message = new MimeMessage(session);
- InternetAddress from = new InternetAddress("test20120711120200@163.com");
- from.setPersonal(MimeUtility.encodeText("风中落叶<test20120711120200@163.com>"));
- message.setFrom(from);
- InternetAddress to = new InternetAddress("test20120711120200@163.com");
- message.setRecipient(Message.RecipientType.TO, to);
- message.setSubject(MimeUtility.encodeText("强哥邀请,谁敢不从!"));
- message.setSentDate(new Date());
- // 构建邮件内容对象
- Multipart mm = new MimeMultipart();
- // 构建一个消息内容块
- BodyPart mbpFile = new MimeBodyPart();
- mbpFile.setContent("<body background='http://dl.iteye.com/upload/picture/pic/110267/e244bda9-9034-36e3-87fd-807629b84222.jpg'>" +
- "<font color='red'>强哥邀请你访问我的博客:http://cuisuqiang.iteye.com/!</font></body>","text/html;charset=UTF-8");
- mm.addBodyPart(mbpFile);
- message.setContent(mm);
- message.saveChanges();
- Transport transport = session.getTransport("smtp");
- transport.connect("smtp.163.com", 25, "test20120711120200", "test123456");
- transport.sendMessage(message, message.getAllRecipients());
- transport.close();
- System.out.println("发送完毕");
- }
- }
package com.mail; import java.util.Date; import java.util.Properties; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; public class HtmlMail { public static void main(String[] args) throws Exception { Properties props = new Properties(); props.put( "mail.smtp.host ", "smtp.163.com "); props.put("mail.smtp.auth", "true"); Session session = Session.getInstance(props); Message message = new MimeMessage(session); InternetAddress from = new InternetAddress("test20120711120200@163.com"); from.setPersonal(MimeUtility.encodeText("风中落叶<test20120711120200@163.com>")); message.setFrom(from); InternetAddress to = new InternetAddress("test20120711120200@163.com"); message.setRecipient(Message.RecipientType.TO, to); message.setSubject(MimeUtility.encodeText("强哥邀请,谁敢不从!")); message.setSentDate(new Date()); // 构建邮件内容对象 Multipart mm = new MimeMultipart(); // 构建一个消息内容块 BodyPart mbpFile = new MimeBodyPart(); mbpFile.setContent("<body background='http://dl.iteye.com/upload/picture/pic/110267/e244bda9-9034-36e3-87fd-807629b84222.jpg'>" + "<font color='red'>强哥邀请你访问我的博客:http://cuisuqiang.iteye.com/!</font></body>","text/html;charset=UTF-8"); mm.addBodyPart(mbpFile); message.setContent(mm); message.saveChanges(); Transport transport = session.getTransport("smtp"); transport.connect("smtp.163.com", 25, "test20120711120200", "test123456"); transport.sendMessage(message, message.getAllRecipients()); transport.close(); System.out.println("发送完毕"); } }
想想也是,你的图片肯定是要放到一个服务器的,不然每次发送一个大包给人家,谁不烦
当然我还是说一下怎么增加图片直接放到消息包内
先贴代码后解释:
- package com.mail;
- import java.util.Date;
- import java.util.Properties;
- import javax.activation.DataHandler;
- import javax.activation.DataSource;
- import javax.activation.FileDataSource;
- import javax.mail.Message;
- import javax.mail.Session;
- import javax.mail.Transport;
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeBodyPart;
- import javax.mail.internet.MimeMessage;
- import javax.mail.internet.MimeMultipart;
- import javax.mail.internet.MimeUtility;
- public class Html_BjPic {
- public static void main(String[] args) throws Exception {
- Properties props = new Properties();
- props.put( "mail.smtp.host ", "smtp.163.com ");
- props.put("mail.smtp.auth", "true");
- Session session = Session.getInstance(props);
- Message message = new MimeMessage(session);
- InternetAddress from = new InternetAddress("test20120711120200@163.com");
- from.setPersonal(MimeUtility.encodeText("风中落叶<test20120711120200@163.com>"));
- message.setFrom(from);
- InternetAddress to = new InternetAddress("test20120711120200@163.com");
- message.setRecipient(Message.RecipientType.TO, to);
- message.setSubject(MimeUtility.encodeText("强哥邀请,谁敢不从!"));
- message.setSentDate(new Date());
- // 我就当这是一个消息包,类型是混杂的
- MimeMultipart msgMultipart = new MimeMultipart("mixed");// 指定为混合关系
- message.setContent(msgMultipart);
- // 这是消息包里面的一个消息体块
- MimeBodyPart content = new MimeBodyPart();
- msgMultipart.addBodyPart(content);
- // 消息体块包含了一组有依赖关系的元素
- MimeMultipart bodyMultipart = new MimeMultipart("related"); // 依赖关系
- content.setContent(bodyMultipart);
- // 这两个依赖关系的元素是HTML文本内容和依赖的图片资源
- MimeBodyPart htmlPart = new MimeBodyPart();
- MimeBodyPart gifPart = new MimeBodyPart();
- // TODO 组装的顺序非常重要,一定要先组装文本域
- bodyMultipart.addBodyPart(htmlPart);
- bodyMultipart.addBodyPart(gifPart);
- DataSource gifds = new FileDataSource("D:\\123.jpg");
- DataHandler gifdh = new DataHandler(gifds);
- gifPart.setDataHandler(gifdh);
- gifPart.setHeader("Content-Location", "bg.jpg");
- htmlPart.setContent(
- "<body background='bg.jpg'>"
- + "<div style='position: absolute; left: 390px; top: 150px;height: "
- + "100px;width: 200px;' align='center'>"
- + "这是测试邮件,请勿回复" + "</div></body>",
- "text/html;charset=UTF-8");
- message.setContent(msgMultipart);
- message.saveChanges();
- Transport transport = session.getTransport("smtp");
- transport.connect("smtp.163.com", 25, "test20120711120200", "test123456");
- transport.sendMessage(message, message.getAllRecipients());
- transport.close();
- System.out.println("发送完毕");
- }
- }
package com.mail; import java.util.Date; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; public class Html_BjPic { public static void main(String[] args) throws Exception { Properties props = new Properties(); props.put( "mail.smtp.host ", "smtp.163.com "); props.put("mail.smtp.auth", "true"); Session session = Session.getInstance(props); Message message = new MimeMessage(session); InternetAddress from = new InternetAddress("test20120711120200@163.com"); from.setPersonal(MimeUtility.encodeText("风中落叶<test20120711120200@163.com>")); message.setFrom(from); InternetAddress to = new InternetAddress("test20120711120200@163.com"); message.setRecipient(Message.RecipientType.TO, to); message.setSubject(MimeUtility.encodeText("强哥邀请,谁敢不从!")); message.setSentDate(new Date()); // 我就当这是一个消息包,类型是混杂的 MimeMultipart msgMultipart = new MimeMultipart("mixed");// 指定为混合关系 message.setContent(msgMultipart); // 这是消息包里面的一个消息体块 MimeBodyPart content = new MimeBodyPart(); msgMultipart.addBodyPart(content); // 消息体块包含了一组有依赖关系的元素 MimeMultipart bodyMultipart = new MimeMultipart("related"); // 依赖关系 content.setContent(bodyMultipart); // 这两个依赖关系的元素是HTML文本内容和依赖的图片资源 MimeBodyPart htmlPart = new MimeBodyPart(); MimeBodyPart gifPart = new MimeBodyPart(); // TODO 组装的顺序非常重要,一定要先组装文本域 bodyMultipart.addBodyPart(htmlPart); bodyMultipart.addBodyPart(gifPart); DataSource gifds = new FileDataSource("D:\\123.jpg"); DataHandler gifdh = new DataHandler(gifds); gifPart.setDataHandler(gifdh); gifPart.setHeader("Content-Location", "bg.jpg"); htmlPart.setContent( "<body background='bg.jpg'>" + "<div style='position: absolute; left: 390px; top: 150px;height: " + "100px;width: 200px;' align='center'>" + "这是测试邮件,请勿回复" + "</div></body>", "text/html;charset=UTF-8"); message.setContent(msgMultipart); message.saveChanges(); Transport transport = session.getTransport("smtp"); transport.connect("smtp.163.com", 25, "test20120711120200", "test123456"); transport.sendMessage(message, message.getAllRecipients()); transport.close(); System.out.println("发送完毕"); } }
这个有点麻烦
首先是有一个 复杂关系的 MimeMultipart ,然后在这个对象里面增加一个消息体,这个消息体包含了一个是 依赖关系的包 ,这个包内又包含了两个元素
因为涉及到附件,所以你运行时会很慢
但是有一个问题
如果你这样指定,那么邮箱会人为你发送了两个普通附件,一个是图片一个是HTML文件
然后邮箱不会显示图片,只是把图片做为了一个普通附件,但是你要是用 foxmail 看的话就会显示
如果你看源码,会发现其实 foxmail 是把普通附件下载下来,然后图片就是显示本地文件了,而邮箱不会
谁知道怎么解决说一声!
如果是增加背景音乐的话,那就把上面的代码改一下,然后你的邮件内容是这样的
- // 邮件内容
- mbpFile.setContent("<html><head><bgsound src='bg.mp3' loop='-1'>"
- + "</head><body><center><font color='red'>强哥邀请你访问我的博客:http://cuisuqiang.iteye.com/!<br>" +
- "您听到背景音乐了么?</font></center></body>"
- + "</html>", "text/html;charset=UTF-8");
// 邮件内容 mbpFile.setContent("<html><head><bgsound src='bg.mp3' loop='-1'>" + "</head><body><center><font color='red'>强哥邀请你访问我的博客:http://cuisuqiang.iteye.com/!<br>" + "您听到背景音乐了么?</font></center></body>" + "</html>", "text/html;charset=UTF-8");
发送后你用foxmail 打开就可以听到音乐!
最后:
由于近期大量小网站在未经同意情况下使用文章,现将我的博客地址公布如下,请您到ITEYE网站看原创,谢谢!
发表评论
-
eclispe 实用插件大全
2016-03-31 10:17 784在一个项目的完整的生命周期中,其维护费用,往往是其开发费用的 ... -
单点登录 SSO Session
2016-03-14 16:56 4014单点登录在现在的 ... -
通用权限管理设计 之 数据库结构设计
2016-01-26 13:22 2911通用权限管理设计 之 ... -
分享一个基于ligerui的系统应用案例ligerRM V2(权限管理系统)(提供下载)
2016-01-26 13:22 1351分享一个基于ligerui的系统应用案例ligerRM V2 ... -
通用权限管理设计 之 数据权限
2016-01-26 13:20 684通用权限管理设计 之 数据权限 阅读目录 前 ... -
使用RSA进行信息加密解密的WebService示例
2015-12-28 10:30 818按:以下文字涉及RS ... -
防止网站恶意刷新
2015-10-22 10:55 663import java.io.IOExcept ... -
单点登录
2015-10-19 14:24 711Cas自定义登录页面Ajax实现 博客分类: ... -
session如何在http和https之间同步
2015-09-14 09:25 2214首先说下 http>https>http ... -
基于 Quartz 开发企业级任务调度应用
2015-08-17 11:17 774Quartz 是 OpenSy ... -
Java加密技术(十二)——*.PFX(*.p12)&个人信息交换文件
2015-08-17 11:17 846今天来点实际工 ... -
Java加密技术(十)——单向认证
2015-08-13 10:13 638在Java 加密技术(九)中,我们使 ... -
Java加密技术(九)——初探SSL
2015-08-13 10:12 799在Java加密技术(八)中,我们模拟 ... -
Java加密技术(八)——数字证书
2015-08-13 10:12 845本篇的主要内容为Java证书体系的实 ... -
Java加密技术(七)——非对称加密算法最高级ECC
2015-08-13 10:12 917ECC ECC-Elliptic Curv ... -
Java加密技术(六)——数字签名算法DSA
2015-08-13 10:11 1001接下来我们介绍DSA数字签名,非对称 ... -
Java加密技术(五)——非对称加密算法的由来DH
2015-08-12 16:13 825接下来我们 ... -
Java加密技术(四)——非对称加密算法RSA
2015-08-12 16:11 1040接下来我们介绍典型的非对称加密算法—— ... -
Java加密技术(三)——PBE算法
2015-08-12 16:10 894除了DES,我们还知道有DESede( ... -
Java加密技术(二)——对称加密算法DES&AES
2015-08-12 16:09 675接下来我们介绍对称加密算法,最常用的莫 ...
相关推荐
JavaMail邮件发送-为你的邮件增加背景音乐和背景图片
NULL 博文链接:https://cuisuqiang.iteye.com/blog/1750866
关于Java使用JavaMail实现邮件发送的源码。里面包含了需要的包。共享给大家,不用收费。免费快乐~
javamail 邮件发送支持带有图片的html格式和普通文本格式
本文介绍了Javamail邮件收发系统的开发背景,对国内外现有的多种成熟的电子邮件系统进行分析和比较,总结出它们的优缺点,对Javamail技术进行深入研究,提出并设计实现了基于Javamail的邮件收发系统。本系统利用SMTP...
本文介绍了Javamail邮件收发系统的开发背景,对国内外现有的多种成熟的电子邮件系统进行分析和比较,总结出它们的优缺点,对Javamail技术进行深入研究,提出并设计实现了基于Javamail的邮件收发系统。本系统利用SMTP...
该邮件系统不仅提供了基础的电子邮件发送和接收功能,还可能包括了用户管理、邮件存储、附件处理等高级功能,旨在帮助学生了解和掌握电子邮件通信协议以及如何在Java环境下实现这些网络服务。该源码文件包内,你可以...
本文介绍了Javamail邮件收发系统的开发背景,对国内外现有的多种成熟的电子邮件系统进行分析和比较,总结出它们的优缺点,对Javamail技术进行深入研究,提出并设计实现了基于Javamail的邮件收发系统。本系统利用SMTP...
本文介绍了Javamail邮件收发系统的开发背景,对国内外现有的多种成熟的电子邮件系统进行分析和比较,总结出它们的优缺点,对Javamail技术进行深入研究,提出并设计实现了基于Javamail的邮件收发系统。本系统利用SMTP...
本文介绍了Javamail邮件收发系统的开发背景,对国内外现有的多种成熟的电子邮件系统进行分析和比较,总结出它们的优缺点,对Javamail技术进行深入研究,提出并设计实现了基于Javamail的邮件收发系统。本系统利用SMTP...
本文介绍了Javamail邮件收发系统的开发背景,对国内外现有的多种成熟的电子邮件系统进行分析和比较,总结出它们的优缺点,对Javamail技术进行深入研究,提出并设计实现了基于Javamail的邮件收发系统。本系统利用SMTP...
发送邮件信息使用了javaMail技术。 十 角色权限管理 整个系统的角色权限管理由李长乐负责,查询了角色名称和每种角色的人数,可以赋权限。 十一 日志管理 整个系统的日志管理由张晓甜负责,利用了mongodb技术,...
使用JPA访问数据库 第12章 整合其他ORM框架 第4篇 业务层应用 第13章 任务调度和异步执行器 第14章 JavaMail发送邮件 第15章 在Spring中使用JMS 第16章 在Spring中开发Web Service 第17章 使用...
使用JPA访问数据库 第12章 整合其他ORM框架 第4篇 业务层应用 第13章 任务调度和异步执行器 第14章 JavaMail发送邮件 第15章 在Spring中使用JMS 第16章 在Spring中开发Web Service 第17章 使用...
使用JPA访问数据库 第12章 整合其他ORM框架 第4篇 业务层应用 第13章 任务调度和异步执行器 第14章 JavaMail发送邮件 第15章 在Spring中使用JMS 第16章 在Spring中开发Web Service 第17章 使用...