JavaMail03:
package com.yuming.test;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.Session;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
public class JavaMail03 {
public static void main(String[] args) throws Exception {
Session session = Session.getInstance(new Properties());
MimeMessage msg = new MimeMessage(session);
//发件人
msg.setFrom(new InternetAddress("\""+MimeUtility.encodeText("中文名称")+"\" <itcast_test@sina.com>"));
//回复
//注:发件人与回复的人不是同一人
//收件人只有一个
msg.setReplyTo(new Address[]{new InternetAddress("lili@126.com")});
//收件人有多个
msg.setRecipients(RecipientType.TO, InternetAddress.parse(MimeUtility.encodeText("张三")+" <zhangsan@itcast.cn>,"+MimeUtility.encodeText("李四") +"<lisi@itcast.cn>"));
msg.setSubject("这是发邮件的主题");
//mixed---混合关系
MimeMultipart msgMultipart = new MimeMultipart("mixed");
msg.setContent(msgMultipart);
msg.getReplyTo();
//html body与附件整合
//body
MimeBodyPart content = new MimeBodyPart();
//附件1
MimeBodyPart attch1 = new MimeBodyPart();
//附件2
MimeBodyPart attch2 = new MimeBodyPart();
msgMultipart.addBodyPart(content);
msgMultipart.addBodyPart(attch1);
msgMultipart.addBodyPart(attch2);
//附件1
DataSource ds = new FileDataSource("D:\\ycsql.txt");
DataHandler dh1 = new DataHandler(ds );
attch1.setDataHandler(dh1);
//英文名称
//attch1.setFileName("ycsql.txt");
//中文名称
attch1.setFileName(
MimeUtility.encodeText("yxsql文件.txt")
);
//附件2
DataSource ds2 = new FileDataSource("D:\\log.jpg");
DataHandler dh2 = new DataHandler(ds2 );
attch1.setDataHandler(dh2);
attch2.setFileName("log.jpg");
//内容 related--关联关系
MimeMultipart bodyMultipart = new MimeMultipart("related");
content.setContent(bodyMultipart);
MimeBodyPart htmlpart = new MimeBodyPart();
MimeBodyPart gifpart = new MimeBodyPart();
bodyMultipart.addBodyPart(htmlpart);
bodyMultipart.addBodyPart(gifpart);
DataSource gifds = new FileDataSource("D:\\log.jpg");
DataHandler gifdh = new DataHandler(gifds );
gifpart.setDataHandler(gifdh);
gifpart.setHeader("Content-Location", "D:\\log.jpg");
//htmlpart
htmlpart.setContent("我自己用程序生成和发送的邮件哦!<img src='D:\\log.jpg'>", "text/html;charset=UTF-8");
//根据这些对象生成邮件
msg.saveChanges();
OutputStream os = new FileOutputStream("E:\\JavaMail03.eml");
msg.writeTo(os);
// msg.writeTo(os);
os.close();
}
}