接上一篇笔记。
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.MimeUtility;
public class MimeTest {
/**
* @param args
* @throws MessagingException
* @throws AddressException
* @throws IOException
* @throws FileNotFoundException
*/
public static void main(String[] args) throws AddressException, MessagingException, FileNotFoundException, IOException {
// TODO Auto-generated method stub
// 创建邮件MimeMessage
Properties props=new Properties();
Session session=Session.getInstance(props);
MimeMessage mm=new MimeMessage(session);
// 设置属性
mm.setFrom(new InternetAddress("guoqianfang@guo.com"));
mm.setRecipients(Message.RecipientType.TO, "hongmeikai@hong.com");
mm.setSubject("下午好");
// 正文
MimeBodyPart mp=new MimeBodyPart();
mp.setContent("hongmeikai nihao !<br>你好<br><img src='cid:1.jpg'><br><img src='cid:2.jpg'>", "text/html;charset=gb2312");
// 设置第一个图片
MimeBodyPart mp2=new MimeBodyPart();
mp2.setDataHandler(new DataHandler(new FileDataSource("src//_009.jpg")));
mp2.setContentID("1.jpg");
// 设置第二个图片
MimeBodyPart mp3=new MimeBodyPart();
mp3.setDataHandler(new DataHandler(new FileDataSource("src//_2.jpg")));
mp3.setContentID("2.jpg");
// 创建关系,把正文和头联系起来
MimeMultipart mmp=new MimeMultipart();
mmp.addBodyPart(mp);
mmp.addBodyPart(mp2);
mmp.addBodyPart(mp3);
mmp.setSubType("related");
MimeBodyPart mp4=new MimeBodyPart();
mp4.setContent(mmp);
// 设置附件
MimeBodyPart mp5=new MimeBodyPart();
// 消除乱码
DataHandler dh=new DataHandler(new FileDataSource("src//改变自己.mp3"));
mp5.setDataHandler(dh);
String filename=dh.getName();
mp5.setFileName(MimeUtility.encodeText(filename));
MimeMultipart mmp2=new MimeMultipart();
mmp2.addBodyPart(mp4);
mmp2.addBodyPart(mp5);
mmp2.setSubType("mixed");
mm.setContent(mmp2);
mm.saveChanges();
mm.writeTo(new FileOutputStream("D://1.eml"));
}
}