1. 在用Mime协议时需要下载两个包JavaMail 和JavaBeans Activation Framework下面是利用mime协议去发邮件并且带图片和附件。
2. 代码如下:
3. // 1,创建连接
4. MimeMessage message = new MimeMessage(Session
5. .getInstance(new Properties()));
6. // 2,设置 邮件属性<发件人地址,收件人地址,主题>
7. message.setFrom(new InternetAddress("aa@121113.com"));
8. message.setRecipient(Message.RecipientType.TO, new InternetAddress(
9. "123@qw.com"));
10. message.setSubject("hi 你好!");
11. //3、设置正文<内容>
12. MimeBodyPart mbp = new MimeBodyPart();
13. mbp.setContent("你好呀!!<br/><img src='cid:1.jpg'><br/> <br/>",
14. "text/html;charset=gb2312");
15. //4、设置图片
16. MimeBodyPart image = new MimeBodyPart();
17. image.setDataHandler(new DataHandler(new FileDataSource("src//f.jpg")));
18. image.setContentID("1.jpg");
19. //5、设置附件
20. MimeBodyPart attch = new MimeBodyPart();
21. DataHandler dh = new DataHandler(new FileDataSource("src//大笑.mp3"));
22. String name = dh.getName();
23. attch.setDataHandler(dh);
24. // 设置中文编码
25. attch.setFileName(MimeUtility.encodeText(name));
26. //图片与正文的描述关系(可以理解为把图片与正文首先捆绑放进part)
27. MimeMultipart mm = new MimeMultipart();
28. mm.addBodyPart(mbp);
29. mm.addBodyPart(image);
30. mm.setSubType("related");
31. //图片与正文的 bodypart
32. MimeBodyPart part = new MimeBodyPart();
33. (可以理解为把图片与正文首先捆绑放进part)
34. part.setContent(mm);
35. //附件与以上的bodypart关系
36. MimeMultipart m = new MimeMultipart();
37. m.addBodyPart(part);
38. m.addBodyPart(attch);
39. //(可以理解为又将part和附件相结合,图片,正文,附件合为一体)
40. m.setSubType("mixed");
41. //把MIME消息(正文,图片,附件)设置到message中
42. message.setContent(m);
43. message.saveChanges();
44. //d盘目录下
45. message.writeTo(new FileOutputStream("D://4.eml"));
46. }
47. }