现在的位置: 首页 > 综合 > 正文

MIME协议写邮件带有附件和图片

2014年01月07日 ⁄ 综合 ⁄ 共 2333字 ⁄ 字号 评论关闭

 

 
1.   MIME协议写邮件写法
2. 在用Mime协议时需要下载两个包JavaMail 和JavaBeans Activation Framework下面是利用mime协议去发邮件并且带图片和附件。
3.   代码如下:
4.   package com.csdn.java07;
 
5.   import java.io.FileNotFoundException;
6.   import java.io.FileOutputStream;
7.   import java.io.IOException;
8.   import java.util.Properties;
 
9.   import javax.activation.DataHandler;
10.import javax.activation.FileDataSource;
11.import javax.mail.Message;
12.import javax.mail.MessagingException;
13.import javax.mail.Session;
14.import javax.mail.internet.AddressException;
15.import javax.mail.internet.InternetAddress;
16.import javax.mail.internet.MimeBodyPart;
17.import javax.mail.internet.MimeMessage;
18.import javax.mail.internet.MimeMultipart;
19.import javax.mail.internet.MimeUtility;
 
20.publicclass Mimeemail {
21.publicstaticvoid main(String[] args) throws AddressException,
22.MessagingException, FileNotFoundException, IOException {
23.// 1,创建连接
24.MimeMessage message = new MimeMessage(Session
25..getInstance(new Properties()));
26.// 2,设置邮件属性
27.message.setFrom(new InternetAddress("aa@121113.com"));
28.message.setRecipient(Message.RecipientType.TO, new InternetAddress(
29."123@qw.com"));
30.message.setSubject("hi 你好!");
 
 
31.//3、设置正文
32.MimeBodyPart mbp = new MimeBodyPart();
33.mbp.setContent("你好呀!!<br/><img src='cid:1.jpg'><br/><img src='cid:2.jpg'><br/>",
34."text/html;charset=gb2312");
 
 
35.//4、设置图片
36.MimeBodyPart image = new MimeBodyPart();
37.image.setDataHandler(new DataHandler(new FileDataSource("src//f.jpg")));
38.image.setContentID("1.jpg");
 
 
 
39.MimeBodyPart image1 = new MimeBodyPart();
40.image1.setDataHandler(new DataHandler(new FileDataSource("src//qq.jpg")));
41.image1.setContentID("2.jpg");
 
 
42.//5、设置附件
43.MimeBodyPart attch = new MimeBodyPart();
44.DataHandler dh = new DataHandler(new FileDataSource("src//大笑.mp3"));
45.String name = dh.getName();
46.attch.setDataHandler(dh);
47.attch.setFileName(MimeUtility.encodeText(name));// 设置中文编码
 
48.//描述关系
49.//图片与正文的描述关系
50.MimeMultipart mm = new MimeMultipart();
51.mm.addBodyPart(mbp);
52.mm.addBodyPart(image);
53.mm.addBodyPart(image1);
54.mm.setSubType("related");
55.//图片与正文的 bodypart
56.MimeBodyPart part = new MimeBodyPart();
57.part.setContent(mm);
58.//附件与以上的bodypart关系
59.MimeMultipart m = new MimeMultipart();
60.m.addBodyPart(part);
61.m.addBodyPart(attch);
62.m.setSubType("mixed");
 
63.//MIME消息设置到message
64.message.setContent(m);
65.message.saveChanges();
66.message.writeTo(new FileOutputStream("D://4.eml"));
 
67.}
 
68.}
 

抱歉!评论已关闭.