MimeBodyPart:表示复杂邮件的一个组成部分,它可以表示文本,附件,图片
DataHandler:表示可以读取图片或附件
MimeMultipart:表示二个邮件组成部分的关系,文本和图片的关系是"related"关系
Content-ID:表示图片的编号
下面是在doc里面发一封邮件,我们其实可以把这些转化成java代码
给出一段复杂邮件的代码,给比我还菜的鸟看看
//创建一封邮件
MimeMessage message = new MimeMessage(Session.getDefaultInstance(new Properties()));
//设置From属性
message.setFrom(new InternetAddress("aaa@zhaojun.com"));
//设置To属性
message.setRecipient(RecipientType.TO,new InternetAddress("bbb@qq.com"));
//设置Subject属性
message.setSubject("复杂邮件");
//文本
MimeBodyPart text = new MimeBodyPart();
text.setContent("这是一副<br/><img src='cid:imageID'/><br/>图片<br/>","text/html;charset=UTF-8");
//图片
MimeBodyPart image = new MimeBodyPart();
DataHandler dh = new DataHandler(new FileDataSource("src/cn/itcast/web/mail/config/神奇的图片.JPG"));
image.setDataHandler(dh);
image.setContentID("imageID");
//附件
MimeBodyPart append = new MimeBodyPart();
dh = new DataHandler(new FileDataSource("src/cn/itcast/web/mail/config/学员提问.txt"));
append.setDataHandler(dh);
append.setFileName(MimeUtility.encodeText(dh.getName()));
//文本+图片
MimeMultipart mm1 = new MimeMultipart();
mm1.addBodyPart(text);
mm1.addBodyPart(image);
mm1.setSubType("related");
//将文本+图片封装成邮件的组成部分,即将关系看作成一个部分
MimeBodyPart temp = new MimeBodyPart();
temp.setContent(mm1);
//设置和附件的关系
MimeMultipart mm = new MimeMultipart();
mm.addBodyPart(temp);
mm.addBodyPart(append);
mm.setSubType("mixed");
//设置整个邮件的关系
message.setContent(mm);
//将该邮件保存的硬盘
message.writeTo(new FileOutputStream("d:\\demo5.eml"));
大家应该都看得懂吧,,赫赫。
小弟最近做的有点头脑不清晰,说话不好听就见谅啊~~