- 浏览: 835549 次
文章分类
- 全部博客 (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重写及读写分离详解
之前已经看到,如果消息包指定了他们之间的关系,增加一个文件进去,邮箱就会显示成普通附件
但是那毕竟不是附件,附件就是附件不能含糊
其实增加附件很简单
指定消息包内元素为混合关系
增加附件并指定附件的名称
代码如下:
- package com.mail;
- import java.util.Date;
- import java.util.Properties;
- import javax.activation.DataHandler;
- 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_File_InnerFile {
- 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 htmlPart = new MimeBodyPart();
- htmlPart.setContent(
- "<body background='http://dl.iteye.com/upload/picture/pic/110267/e244bda9-9034-36e3-87fd-807629b84222.jpg'>"
- + "<div style='position: absolute; left: 390px; top: 150px;height: "
- + "100px;width: 200px;' align='center'>"
- + "<font color='red'>这是测试邮件,请勿回复</font>" + "</div></body>",
- "text/html;charset=UTF-8");
- // TODO 组装的顺序非常重要,一定要先组装文本域,再组装文件
- msgMultipart.addBodyPart(htmlPart);
- // 组装附件
- MimeBodyPart file = new MimeBodyPart();
- FileDataSource file_datasource = new FileDataSource("D:\\img201008031058340.zip");
- DataHandler dh = new DataHandler(file_datasource);
- file.setDataHandler(dh);
- // 附件区别内嵌内容的一个特点是有文件名,为防止中文乱码要编码
- file.setFileName(MimeUtility.encodeText(dh.getName()));
- msgMultipart.addBodyPart(file);
- 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.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_File_InnerFile { 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 htmlPart = new MimeBodyPart(); htmlPart.setContent( "<body background='http://dl.iteye.com/upload/picture/pic/110267/e244bda9-9034-36e3-87fd-807629b84222.jpg'>" + "<div style='position: absolute; left: 390px; top: 150px;height: " + "100px;width: 200px;' align='center'>" + "<font color='red'>这是测试邮件,请勿回复</font>" + "</div></body>", "text/html;charset=UTF-8"); // TODO 组装的顺序非常重要,一定要先组装文本域,再组装文件 msgMultipart.addBodyPart(htmlPart); // 组装附件 MimeBodyPart file = new MimeBodyPart(); FileDataSource file_datasource = new FileDataSource("D:\\img201008031058340.zip"); DataHandler dh = new DataHandler(file_datasource); file.setDataHandler(dh); // 附件区别内嵌内容的一个特点是有文件名,为防止中文乱码要编码 file.setFileName(MimeUtility.encodeText(dh.getName())); msgMultipart.addBodyPart(file); 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("发送完毕"); } }
主要组装元素的时候一定要先组装邮件内容再组装附件
无论在 客户端工具还是邮箱,都是提示附件,邮件还是带背景图片的
附件名称是你自己指定的
最后:
由于近期大量小网站在未经同意情况下使用文章,现将我的博客地址公布如下,请您到ITEYE网站看原创,谢谢!
发表评论
-
eclispe 实用插件大全
2016-03-31 10:17 789在一个项目的完整的生命周期中,其维护费用,往往是其开发费用的 ... -
单点登录 SSO Session
2016-03-14 16:56 4017单点登录在现在的 ... -
通用权限管理设计 之 数据库结构设计
2016-01-26 13:22 2916通用权限管理设计 之 ... -
分享一个基于ligerui的系统应用案例ligerRM V2(权限管理系统)(提供下载)
2016-01-26 13:22 1367分享一个基于ligerui的系统应用案例ligerRM V2 ... -
通用权限管理设计 之 数据权限
2016-01-26 13:20 689通用权限管理设计 之 数据权限 阅读目录 前 ... -
使用RSA进行信息加密解密的WebService示例
2015-12-28 10:30 826按:以下文字涉及RS ... -
防止网站恶意刷新
2015-10-22 10:55 668import java.io.IOExcept ... -
单点登录
2015-10-19 14:24 718Cas自定义登录页面Ajax实现 博客分类: ... -
session如何在http和https之间同步
2015-09-14 09:25 2220首先说下 http>https>http ... -
基于 Quartz 开发企业级任务调度应用
2015-08-17 11:17 782Quartz 是 OpenSy ... -
Java加密技术(十二)——*.PFX(*.p12)&个人信息交换文件
2015-08-17 11:17 851今天来点实际工 ... -
Java加密技术(十)——单向认证
2015-08-13 10:13 643在Java 加密技术(九)中,我们使 ... -
Java加密技术(九)——初探SSL
2015-08-13 10:12 807在Java加密技术(八)中,我们模拟 ... -
Java加密技术(八)——数字证书
2015-08-13 10:12 848本篇的主要内容为Java证书体系的实 ... -
Java加密技术(七)——非对称加密算法最高级ECC
2015-08-13 10:12 920ECC ECC-Elliptic Curv ... -
Java加密技术(六)——数字签名算法DSA
2015-08-13 10:11 1006接下来我们介绍DSA数字签名,非对称 ... -
Java加密技术(五)——非对称加密算法的由来DH
2015-08-12 16:13 828接下来我们 ... -
Java加密技术(四)——非对称加密算法RSA
2015-08-12 16:11 1049接下来我们介绍典型的非对称加密算法—— ... -
Java加密技术(三)——PBE算法
2015-08-12 16:10 901除了DES,我们还知道有DESede( ... -
Java加密技术(二)——对称加密算法DES&AES
2015-08-12 16:09 678接下来我们介绍对称加密算法,最常用的莫 ...
相关推荐
这里使用的是JavaMail技术,前台使用了fckeditor做邮件美化,由于只是示例,后台发送时只是将邮件保存在本地,但是可以查看,如果需要实际发送,请参考我的其他博客文章,我写了很多关于邮件发送的示例!
JavaMail邮件发送(带附件)
介绍了如何利用javamail实现带附件的邮件发送,附有代码
该资源是一个javamail发送邮件的例子,里面集成了别人的文件发送的功能,单次发送邮件只能上传一个附件。是一个测试方法,拿过来改一改邮件的地址和密码就可以使用了
javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码 查看debug 邮件处理过程发现邮件头没有编译, 内容是base64编码,所以邮箱收不到或者收到的是base64编码后的一堆乱码,
里面详细的介绍了JavaMail发邮件(包括单个附件和多个附件)的机制,还有JavaMail正常使用所需要的JAR包,源程序例子经过本人详细且严格的测试,大家下载下来就可以直接使用啦。
基于javamail1.4实现邮件发送,支持多收件人、抄送人、多附件等
06 使用JavaMail发送带附件的邮件.exe06 使用JavaMail发送带附件的邮件.exe
JavaMail实现邮件发送功能,可发送、抄送、密送多人,支持多附件的发送。配置相关参数后可直接调用发送邮件
本人最新写了一个邮件收发的例子,可以处理中文的 包括发送附件,附件标题也可以是中文的,可以给大 家参考下!希望能给大家一些帮助!
JavaMail实现邮件发送的简单封装(包括文本、图片、html、附件) 详见http://blog.csdn.net/lyisray/article/details/42002215
此源码是使用javamail发送邮件,可以实现静默发送邮件,可以发送附件资源等。有相应的使用说明,快捷好用
java web通过javamail实现邮件的发送接收功能。实现了邮件的发送并带有附件的功能。
纯java发送简单邮件的功能,支持嘱性文件的配置,可配多人接收,多个附件,简单。。。
在Android上使用JavaMail发送邮件,可以发送附件。 使用了 mail.jar activation.jar additional.jar
本资源是一个集合发送图片,附件,内容,HTML等得JAVAMAIL代码,并且可以同时发送多个附件多个图片,只需填充VO类,即可直接调用并发送邮件,例子已经写好,只要填充上必要值即可,经163,qq,sina测试没有问题,有...
javamail 自动发送邮件 发送html格式邮件 发送带有附件的邮件
本资源是一个集合发送图片,附件,内容,HTML等得JAVAMAIL代码,并且可以同时发送多个附件多个图片,只需填充VO类,即可直接调用并发送邮件,例子已经写好,只要填充上必要值即可,经163,qq,sina测试没有问题,有...
javaMail 用附件路径,文件流 byte[] 或 base64 字符串 实现发送附件功能