首先要准备先javamail的mail-1.4.jar,jaf的activation.jar包
下面贴段我写的代码,其中包含了邮件的所有基本元素:text,picture,attachment。
- public class ComplexMessage {
- public static MimeMessage createMessage(Session session) throws Exception {
- String from = "aaa@sina.com";
- String to = "bbb@hotmail.com";
- String subject = "hello world";
- String body = "<a href=http://blog.csdn.net/terryzero/>"
- + "欢迎大家光临我的blog</a></br>" + "<img src=/"cid:google/">";
- MimeMessage message = new MimeMessage(session);
- message.setFrom(new InternetAddress(from));
- message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
- message.setSubject(subject);
- MimeBodyPart contentPart = createContent(body, "E://MyTemplate//resourse//google.jpg");
- MimeBodyPart attachPart1 = createAttachmet("E://MyTemplate//resourse//google.jpg");
- MimeBodyPart attachPart2 = createAttachmet("E://MyTemplate//resourse//google.jpg");
- MimeMultipart allMultipart = new MimeMultipart("mixed");
- allMultipart.addBodyPart(contentPart);
- allMultipart.addBodyPart(attachPart1);
- allMultipart.addBodyPart(attachPart2);
- message.setContent(allMultipart);
- message.saveChanges();
- return message;
- }
- public static MimeBodyPart createContent(String body, String filename) throws Exception {
- MimeBodyPart contentPart = new MimeBodyPart();
- MimeMultipart contentMultipart = new MimeMultipart("related");
- MimeBodyPart htmlBodyPart = new MimeBodyPart();//文本
- htmlBodyPart.setContent(body, "text/html;charset=gb2312");
- contentMultipart.addBodyPart(htmlBodyPart);
- MimeBodyPart gifBodyPart = new MimeBodyPart(); //图片
- FileDataSource fds = new FileDataSource(filename);
- gifBodyPart.setDataHandler(new DataHandler(fds));
- gifBodyPart.setContentID("google");
- contentMultipart.addBodyPart(gifBodyPart);
- contentPart.setContent(contentMultipart);
- return contentPart;
- }
- public static MimeBodyPart createAttachmet(String filename) throws Exception {
- MimeBodyPart attachPart = new MimeBodyPart();//附件
- FileDataSource fds = new FileDataSource(filename);
- attachPart.setDataHandler(new DataHandler(fds));
- attachPart.setFileName(fds.getName());
- return attachPart;
- }
- public static void main(String[] args) {
- Session session=Session.getDefaultInstance(new Properties());
- try {
- MimeMessage message=createMessage(session);
- message.writeTo(new FileOutputStream("E://MyTemplate//resourse//ComplexMessage.eml"));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
这样完整的一封邮件就写好了,你也可以用outlook来产生这个.eml文件。
熟悉了创建邮件的api你就可以自己写个网上邮件平台,这也是比较简单的,什么时候有空做个让大家把玩下。