Java Mail发送Email总结(三)--邮件发送的综合例子

本文介绍如何使用Java Mail发送带图片及附件的例子

1.生成一封带图片及附件的邮件

    public static MimeMessage createMixedMail(Session session) throws Exception {
        //创建邮件
        MimeMessage message = new MimeMessage(session);
        //发件人
        message.setFrom("xxx@qq.com");
        //收件人
        message.setRecipient(Message.RecipientType.TO, new InternetAddress("xxx@qq.com"));
        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;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值