packagecom.hd.javamail;importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.OutputStream;importjava.util.Properties;importjavax.activation.DataHandler;importjavax.activation.DataSource;importjavax.activation.FileDataSource;importjavax.mail.Address;importjavax.mail.MessagingException;importjavax.mail.Multipart;importjavax.mail.Session;importjavax.mail.internet.InternetAddress;importjavax.mail.internet.MimeBodyPart;importjavax.mail.internet.MimeMessage;importjavax.mail.internet.MimeMultipart;importjavax.mail.internet.MimeUtility;importcom.sun.mail.util.MimeUtil;/***
*@authorH__D
* @date 2016年12月6日 下午7:38:33
**/
public classDemo3 {/*** 生成一份本地的邮件
*@paramargs
*@throwsMessagingException
*@throwsIOException*/
public static void main(String[] args) throwsMessagingException, IOException {//环境
Session session = Session.getDefaultInstance(newProperties());//邮件
MimeMessage msg = newMimeMessage(session);//设置主题
msg.setSubject("test123456");//发件人,注意中文的处理
msg.setFrom(new InternetAddress("\"" + MimeUtility.encodeText( "某某") + "\""));//设置邮件回复人
msg.setReplyTo(new Address[]{new InternetAddress("123456@163.com")});//整封邮件的MINE消息体
MimeMultipart msgMultipart = new MimeMultipart("mixed");//混合的组合关系//设置邮件的MINE消息体
msg.setContent(msgMultipart);//附件1
MimeBodyPart attch1 = newMimeBodyPart();//附件2
MimeBodyPart attch2 = newMimeBodyPart();//正文内容
MimeBodyPart content = newMimeBodyPart();//把内容,附件1,附件2加入到 MINE消息体中
msgMultipart.addBodyPart(attch1);
msgMultipart.addBodyPart(attch2);
msgMultipart.addBodyPart(content);//把文件,添加到附件1中//数据源
DataSource ds1 = new FileDataSource(new File("C:/Users/H__D/Desktop/1.txt"));//数据处理器
DataHandler dh1 = newDataHandler(ds1 );//设置第一个附件的数据
attch1.setDataHandler(dh1);//设置第一个附件的文件名
attch1.setFileName("file1.jpg");//把文件,添加到附件2中
DataSource ds2 = new FileDataSource(new File("C:/Users/H__D/Desktop/2.txt"));
DataHandler dh2= newDataHandler(ds2 );
attch2.setDataHandler(dh2);
attch2.setFileName(MimeUtility.encodeText("文件2.jpg"));//正文(图片和文字部分)
MimeMultipart bodyMultipart = new MimeMultipart("related");//设置内容为正文
content.setContent(bodyMultipart);//html代码部分
MimeBodyPart htmlPart = newMimeBodyPart();//html中嵌套的图片部分
MimeBodyPart imgPart = newMimeBodyPart();//正文添加图片和html代码
bodyMultipart.addBodyPart(htmlPart);
bodyMultipart.addBodyPart(imgPart);//把文件,添加到图片中
DataSource imgds = new FileDataSource(new File("C:/Users/H__D/Desktop/logo.png"));
DataHandler imgdh= newDataHandler(imgds );
imgPart.setDataHandler(imgdh);//说明html中的img标签的src,引用的是此图片
imgPart.setHeader("Content-Location", "http://sunteam.cc/logo.jsg");//html代码
htmlPart.setContent("中文呵呵","text/html;charset=utf-8");//生成文件邮件
msg.saveChanges();//输出
OutputStream os = new FileOutputStream("C:/Users/H__D/Desktop/demo.eml");
msg.writeTo(os);
os.close();
}
}