用MIME协议生成一封复杂的邮件(一)
来源:互联网 发布:mp4合并软件绿色版 编辑:程序博客网 时间:2024/05/21 10:53
用MIME协议生成一封复杂的邮件(一)
MIME协议是对RFC822文档的升级和补充,用MIME协议能生成一封有文字、图片和附件的复杂邮件。首先要导入activation.jar和mail.jar。Mail.jar的下载地址是:
http://www.oracle.com/technetwork/java/index-138643.html,activation.jar的下载地址是:http://www.oracle.com/technetwork/java/jaf102-139581.html
分析生成过程:
// 1、创建邮件MimeMessage的对象
<1>第一种方法:
Properties props=new Properties();
Session session=Session.getInstance(props);
MimeMessage mm=new MimeMessage(session);
<2>第二种方法:
MimeMessage mm2=new MimeMessage(Session.getInstance(System.getProperties()));
<3>第三种方法:
MimeMessage mm3=new MimeMessage(Session.getInstance(newProperties()));
// 2、设置MimeMessage的属性
//发件人的邮件地址
mm.setFrom(new InternetAddress("guoqianfang@163.om"));
//发件人的邮件地址
mm.setRecipients(Message.RecipientType.TO, "hongmeikai@sina.com");
//邮件的主题
mm.setSubject("下午好");
// 3、写邮件的正文,用到的是MimeBodyPart类
//写文字
MimeBodyPart mp=new MimeBodyPart();
mp.setContent("hongmeikai nihao !<br>你好<br><img src='cid:1.jpg'><br><img src='cid:2.jpg'>", "text/html;charset=gb2312");
//写第一个图片
MimeBodyPart mp2=new MimeBodyPart();
mp2.setDataHandler(new DataHandler(new FileDataSource("src//_009.jpg")));
mp2.setContentID("1.jpg");
//写第二个图片
MimeBodyPart mp3=new MimeBodyPart();
mp3.setDataHandler(new DataHandler(new FileDataSource("src//_2.jpg"))); mp3.setContentID("2.jpg");
// 4、创建关系,把图片的文字联系起来,用到的类是MimeMultiPart
MimeMultipart mmp=new MimeMultipart();
mmp.addBodyPart(mp);
mmp.addBodyPart(mp2);
mmp.addBodyPart(mp3);
mmp.setSubType("related");//related是表示关联关系
// 5、再把上面的关系放到MimeBodyPart中
MimeBodyPart mp4=new MimeBodyPart();
mp4.setContent(mmp);
// 6、设置附件,用到的是MimeBodyPart类
MimeBodyPart mp5=new MimeBodyPart();
//消除歌名是中文时的乱码问题
DataHandler dh=new DataHandler(new FileDataSource("src//改变自己.mp3"));
mp5.setDataHandler(dh);
String filename=dh.getName();
mp5.setFileName(MimeUtility.encodeText(filename));
// 7、再创建关系
MimeMultipart mmp2=new MimeMultipart();
mmp2.addBodyPart(mp4);
mmp2.addBodyPart(mp5);
mmp2.setSubType("mixed");
// 8、把连接好的加载到邮件(MimeMessage)中
mm.setContent(mmp2);
mm.saveChanges();
// 9、在D盘生成一个邮件
mm.writeTo(new FileOutputStream("D://1.eml"));
原文件见下一篇笔记。
- 用MIME协议生成一封复杂的邮件(一)
- 用MIME协议生成一封复杂的邮件(二)
- 用MIME协议生成一封复杂的邮件(三)
- 一封复杂点的邮件
- Joomla如何发送一封 简单的&&复杂的 邮件
- MIME协议(一) -- RFC822邮件格式
- 用PHP发送MIME邮件(一)
- 用PHP发送MIME邮件(一)
- 用PHP发送MIME邮件(一)
- 一封邮件的认知
- 使用MIME协议创建内含图片的复杂邮件
- JavaMaill:使用MIME协议创建内含图片的复杂邮件
- 制作一封复杂的邮件(包括附件、回信地址),并写到文件中
- 读取一封邮件
- 吴翰清的一封邮件(来自知乎)
- 朋友发过来的一封邮件!
- 给Q的一封邮件
- 给CSDN 开发者的一封邮件
- base64 Encoder加密
- 邮件原理与JavaMail开发(一)
- 泛型
- 浅谈邮件的发送和接受(一)
- 路
- 用MIME协议生成一封复杂的邮件(一)
- 用MIME协议生成一封复杂的邮件(二)
- Mime邮件
- DataPicker
- Java中的反射机制
- 实时打印图片的问题,请同学和老师们帮忙看看,谢谢
- intel处理器的简史
- 10个常用破解网络密码的方法
- 菜单