package cn.lnu.demo;
import java.io.FileOutputStream;
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 javax.mail.internet.MimeUtility;
public class ComplexMail {
/**
* ��������ӵ��ʼ�
* @throws MessagingException
* @throws AddressException
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
//�����ʼ�
Session session = Session.getDefaultInstance(new Properties());
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("aaa@flx.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress("bbb@flx.com"));
message.setSubject("����");
//����bodypart��װ����
MimeBodyPart text=new MimeBodyPart();
text.setContent("���������ļ�<br/><img src='cid:image1'><br/>fha;hfajh", "text/html;charset=UTF-8");
//����bodypart��װͼƬ
MimeBodyPart image=new MimeBodyPart();
DataHandler dh=new DataHandler(new FileDataSource("src/1.jpg")); //jaf���������ݴ����������Զ���֪�ļ����ͣ�����֪���ļ�����д��image��,���ԾͲ��������Լ��ֶ���������������
image.setDataHandler(dh);
image.setContentID("image1");
//����bodypart��װ����
MimeBodyPart attach = new MimeBodyPart();
DataHandler dh2 = new DataHandler(new FileDataSource("src/�������.mp3"));
attach.setDataHandler(dh2);
attach.setFileName(MimeUtility.encodeText(dh2.getName())); //���ø�����,�ļ�����Ǹ����������������������������setFileName�����ڲ�������content-dispositionͷ
//�������ݹ�ϵ
MimeMultipart content=new MimeMultipart();
content.addBodyPart(text);
content.addBodyPart(image);
content.setSubType("related");
MimeBodyPart mbp=new MimeBodyPart();
mbp.setContent(content);
MimeMultipart mm=new MimeMultipart();
mm.addBodyPart(mbp);
mm.addBodyPart(attach);
mm.setSubType("mixed");
message.setContent(mm);
message.saveChanges();
message.writeTo(new FileOutputStream("c:\\1.eml"));
}
}