java版发送带有附件以及内容包含图片的邮件

使用javax.mail-1.6.2.jar库,通过XML模板和DOM4J解析HTML,实现了Java发送带有附件和内容中嵌入图片的邮件。主要方法包括sendmail()用于发送邮件,reader()读取模板,createImageMimeBodyPart()插入图片到邮件内容。参考了相关博客文章。
摘要由CSDN通过智能技术生成

使用的javax.mail-1.6.2.jar包实现,其中附件是普通的增加bodypart方法具体见代码,邮件内容包含图片采用的是包含html格式的xml模板,因为需要排版,所以使用html格式更容易实现,具体看代码。

一共三个方法,主方法sendmail() 包含添加附件根据邮箱配置发送邮件

reader方法和createImageMimeBodyPart方法是读取模板以及把图片插入到模板里,其中读取模板用的dom4j包里的方法(把html模板转成xml文件,转换很简单,html的代码外包一层xml-body标签,文件后缀换成xml就行了)使用的dom4j-1.6.1.jar包

参考文章:https://www.cnblogs.com/hujunzheng/p/5093496.html

/**
     * 发送邮件
     * @throws Exception
     */
public void sendMail() throws Exception{
        //数据
        String date ="2021年01月20日";
        String stockContent = "xxxxxx";
        String trades = "1000000";
        String consumers = "1000000";
        String dateAddConsumers = "1000000";
        String inAmt = "1000000";
        String inTrades = "1000000";
        String outTrades = "1000000";
        String outAmt = "1000000";
        /**
         * 创建内容(为消息对象)
         */
        //创建一个多功能邮件块,用于组合文本和图片,"mixed"型的MimeMultipart对象
        MimeMultipart mixed = new MimeMultipart("mixed");
        //新建一个存放新建内容的MimeBodyPart对象
        MimeBodyPart content = new MimeBodyPart();
        //把内容放到MimeBodyPart里
        String templateContent = reader("D/doc/template/2021.xls");
        Object[] obj = new Object[]{date,stockContent,trades,consumers,dateAddConsumers,inAmt,inTrades,outAmt,outTrades,"trades","transAMT","inAMT","consumerAdd","thred","bank"};
        String contentStr = MessageFormat.format(templateContent, obj);
        content.setContent(contentStr, "text/html;charset=UTF-8");
        //将MimeBodyPart加入到MimeMultipart对象中(可以加
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值