【问题标题】:How to Keep the HTML formatted data as a body of java mail using java mail API?如何使用 java 邮件 API 将 HTML 格式的数据保存为 java 邮件的正文?
【发布时间】:2016-01-21 05:26:55
【问题描述】:

我需要将 xml 验证报告作为 HTML 内容邮件发送。 如何使用 java mail api 将以下详细信息(从父类派生)保留为 HTML 正文。 //具体要求: TITLE : 汽车验证报告 //背景颜色:橙色 //字体颜色:黑色 1.错误总数:12 2.警告总数:150

CAR 验证成功。

我的邮件 java 代码:

MimeMessage message = new     
MimeMessage(session);                                   
                m_toterr=validatexml.Total_err;
                message.setFrom(new InternetAddress(from));   
                message.addRecipient(Message.RecipientType.TO, new 
InternetAddress(to1));
                //message.addRecipient(Message.RecipientType.CC, new  
InternetAddress(to2));
                //message.addRecipient(Message.RecipientType.BCC, new 
InternetAddress(to3));
                //message.addRecipient(Message.RecipientType.BCC, new 
InternetAddress(to4));
                message.setSubject("RE : CAR Validation Report of : 
"+dateFormat.format(cal.getTime())); 
                message.addHeaderLine("line");
                MimeHeader header1=new MimeHeader("Content-
Type","test/html");
                MimeBodyPart line0 =new MimeBodyPart();
                MimeBodyPart line1 = new MimeBodyPart();
                MimeBodyPart line2 = new MimeBodyPart();
                MimeBodyPart line3 = new MimeBodyPart();
                MimeBodyPart line4 = new MimeBodyPart();
                MimeBodyPart line5 = new MimeBodyPart();
                MimeBodyPart line6 = new MimeBodyPart();
                MimeBodyPart line7 = new MimeBodyPart();


                Multipart multipart = new MimeMultipart();  


                   System.out.println("Total number of Errors at console 
from mailer:"+m_toterr);
                   //CarParser1.logger.info("Total number of 
Errors:"+m_toterr);
                  line0.setContent("<body bgcolor=yellow>","text/html");
                  line1.setContent("<h4 style=color:blue>Dear 
All,</h4>","text/html");
                  line2.setContent("<br><br><h4 style=color:red>The     
below is the today's CAR Validation status</h4>","text/html");

                  line3.setContent("</p>","text/html");
                  line4.setContent("</body>","text/html");


                  //line3.setContent("<br><h4 style=color:blue>PFA for 
the Log File</h4>","text/html");
                  //line4.attachFile("D:/logfile.log");
                  line4.setContent("<br><br><h4 style=color:blue>   
Regards,<br>( E-ops Software ) </h5>","text/html");
                  line5.setContent("<br><h4 style=color:red>(Auto mail, 
please do not reply)</h4>","text/html");
             //     line7.setContent("System.out.println(Total Number of 
errors:"+m_toterr);");

                  multipart.addBodyPart(line0);
                  multipart.addBodyPart(line1);
                  multipart.addBodyPart(line2);
                  //multipart.addBodyPart(line3);
                  multipart.addBodyPart(line4);
                  multipart.addBodyPart(line5);
                //  multipart.addBodyPart(line6);

                message.setContent(multipart );
                Transport.send(message);

                System.out.println("Email Sent successfully....");
                CarParser1.logger.info("Email Sent Successfully...");
                System.out.println();
            } 

-------------代码结束

请帮忙。

【问题讨论】:

  • 请点击上面的链接获取示例邮件屏幕截图
  • 不清楚。链接是预期结果还是当前结果?
  • 对不起,仅供参考,具体要求如上。
  • 我需要日志邮件报告和附件一样,只是格式,内容和代码在上面。请帮助。

标签: java xml jakarta-mail


【解决方案1】:

使用您喜欢的任何技术,使用 html 标记将数据格式化为单个字符串,然后将该字符串设置为单个 MimeBodyPart 的内容。您绝对希望每一行都有一个部分。

【讨论】:

  • String htmlBody = " 页面标题"
  • + "警告总数:   " + "   " + "跳过总数
  • message.setContent(htmlBody, "text/html; charset=ISO-8859-1");
  • 谢谢你。你节省了我的时间和精力。它真的帮助了我,我已经做到了,它对我有用..
猜你喜欢
相关资源
最近更新 更多
热门标签