Java Mail發送Email總結(三)--郵件發送的綜合例子

本文介紹如何使用Java Mail發送帶圖片及附件的例子

1.生成一封帶圖片及附件的郵件

    public static MimeMessage createMixedMail(Session session) throws Exception {
        //創建郵件
        MimeMessage message = new MimeMessage(session);
        //發件人
        message.setFrom("[email protected]");
        //收件人
        message.setRecipient(Message.RecipientType.TO, new InternetAddress("[email protected]"));
        message.setSubject("帶附件和帶圖片的的郵件");
        //正文
        MimeBodyPart text = new MimeBodyPart();
        text.setContent("xxx這是女的xxxx<br/><img src='cid:a.jpg'>","text/html;charset=UTF-8");

        //圖片
        MimeBodyPart image = new MimeBodyPart();
        image.setDataHandler(new DataHandler(new FileDataSource("xxx.jpg")));
        image.setContentID("a.jpg");

        //附件1
        MimeBodyPart file= new MimeBodyPart();
        DataHandler dh = new DataHandler(new FileDataSource("b.txt"));
        file.setDataHandler(dh);
        file.setFileName(dh.getName());

        //附件2
        MimeBodyPart file2= new MimeBodyPart();
        DataHandler dh2 = new DataHandler(new FileDataSource("c.xml"));
        file2.setDataHandler(dh2);
        file2.setFileName(dh2.getName());

        //描述關係:正文和圖片
        MimeMultipart mp1 = new MimeMultipart();
        mp1.addBodyPart(text);
        mp1.addBodyPart(image);
        mp1.setSubType("related");

        //代表正文的bodypart
        MimeBodyPart content = new MimeBodyPart();
        content.setContent(mp1);
        //描述關係:正文和附件
        MimeMultipart mp2 = new MimeMultipart();
        mp2.addBodyPart(file);
        mp2.addBodyPart(file2);
        mp2.addBodyPart(content);
        mp2.setSubType("mixed");

        message.setContent(mp2);
        message.saveChanges();

        message.writeTo(new FileOutputStream("W:\\MixedMail.eml"));
        //返回創建好的的郵件
        return message;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章