以html格式从电子邮件中读取嵌入式嵌入式图像

阿米斯

我尝试使用IMAP连接阅读电子邮件。我正在将电子邮件作为html内容。当我收到包含图像的正文的电子邮件时。我无法从电子邮件正文中获取图像。

html输出如下。

<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
    {font-family:Cambria;
    panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
    {font-family:Calibri;
    panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
    {font-family:Tahoma;
    panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
    {margin:0in;
    margin-bottom:.0001pt;
    font-size:11.0pt;
    font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
    {mso-style-priority:99;
    color:blue;
    text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
    {mso-style-priority:99;
    color:purple;
    text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
    {mso-style-priority:99;
    mso-style-link:"Balloon Text Char";
    margin:0in;
    margin-bottom:.0001pt;
    font-size:8.0pt;
    font-family:"Tahoma","sans-serif";}
span.EmailStyle17
    {mso-style-type:personal-compose;
    font-family:"Calibri","sans-serif";
    color:windowtext;}
span.BalloonTextChar
    {mso-style-name:"Balloon Text Char";
    mso-style-priority:99;
    mso-style-link:"Balloon Text";
    font-family:"Tahoma","sans-serif";}
.MsoChpDefault
    {mso-style-type:export-only;
    font-family:"Calibri","sans-serif";}
@page WordSection1
    {size:8.5in 11.0in;
    margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
    {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">The body parts <o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><i><span lang="EN-GB" style="font-size:10.0pt;font-family:&quot;Cambria&quot;,&quot;serif&quot;;color:#365F91">Regards</span></i><i><span style="font-size:10.0pt;font-family:&quot;Cambria&quot;,&quot;serif&quot;;color:#365F91">,</span></i><span lang="EN-IN" style="color:#365F91"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="color:#365F91">&nbsp;</span><span lang="EN-IN" style="color:#365F91"><o:p></o:p></span></p>
<p class="MsoNormal"><i><span style="font-size:10.0pt;font-family:&quot;Cambria&quot;,&quot;serif&quot;;color:#17365D">Amith K&nbsp; Bharathan</span></i><span lang="EN-IN" style="color:#17365D"><o:p></o:p></span></p>
<p class="MsoNormal"><i><span style="font-size:10.0pt;font-family:&quot;Cambria&quot;,&quot;serif&quot;;color:#17365D">Software Engineer</span></i><span lang="EN-IN" style="color:#17365D"><o:p></o:p></span></p>
<p class="MsoNormal"><i><span style="font-size:10.0pt;font-family:&quot;Cambria&quot;,&quot;serif&quot;;color:#17365D">&nbsp;</span></i><span lang="EN-IN" style="color:#17365D"><o:p></o:p></span></p>

<p class="MsoNormal">
<span style="font-size:10.0pt;font-family:&quot;Cambria&quot;,&quot;serif&quot;;color:#17365D">


**<img width="110" height="61" id="Picture_x0020_1" src="cid:[email protected]" alt="Description: Description: Description: Description: tstlogo">**


</span><span lang="EN-IN" style="color:#17365D"><o:p></o:p></span></p>
<p class="MsoNormal"><i><span style="font-size:10.0pt;font-family:&quot;Cambria&quot;,&quot;serif&quot;;color:#17365D">TTT Software &amp; Systems India Pvt. Ltd.</span></i><span lang="EN-IN" style="color:#17365D"><o:p></o:p></span></p>
<p class="MsoNormal"><i><span style="font-size:10.0pt;font-family:&quot;Cambria&quot;,&quot;serif&quot;;color:#17365D"> Infopark, Kakkanad-682 030</span></i><span lang="EN-IN" style="color:#17365D"><o:p></o:p></span></p>
<p class="MsoNormal"><b><i><span style="font-size:10.0pt;font-family:&quot;Cambria&quot;,&quot;serif&quot;;color:#17365D">Mob&nbsp;&nbsp; :</span></i></b><i><span style="font-size:10.0pt;font-family:&quot;Cambria&quot;,&quot;serif&quot;;color:#17365D"> &#43;91 99957</span></i><span lang="EN-IN" style="color:#17365D"><o:p></o:p></span></p>
<p class="MsoNormal"><b><i><span style="font-size:10.0pt;font-family:&quot;Cambria&quot;,&quot;serif&quot;;color:#17365D">Email :</span></i></b><i><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#17365D">
<a href="mailto:[email protected]"><span style="color:#17365D">[email protected]</span></a></span></i><span lang="EN-IN" style="color:#17365D"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>

我的代码段是:

private String getTextFromMimeMultipart(
            MimeMultipart mimeMultipart) throws Exception{
        String result = "";
        int count = mimeMultipart.getCount();
        System.out.println("____________START______GET MULTI PART"+count);
        for (int i = 0; i < count; i++) {
            BodyPart bodyPart = mimeMultipart.getBodyPart(i);
            if (bodyPart.isMimeType("text/plain")) {
                System.out.println("11111111111111");
                result = result + "\n" + bodyPart.getContent();
                //System.out.println("RESULT "+result);
             //   break; // without break same text appears twice in my tests
            }   if (bodyPart.isMimeType("text/html")) {
                System.out.println("2222222");
                String html = (String) bodyPart.getContent();
                System.out.println("22 bodypart "+bodyPart.getContentType());

                result = result + "\n >>> " + org.jsoup.Jsoup.parse(html).text();
            }  if (bodyPart.getContent() instanceof MimeMultipart){

                result = result + getTextFromMimeMultipart((MimeMultipart)bodyPart.getContent());
                System.out.println("3333333333333"+(MimeMultipart)bodyPart.getContent());

                Multipart multiPart = (MimeMultipart)bodyPart.getContent();
                System.out.println("multipart COUNT "+multiPart.getCount());
                for (int v = 0; v < multiPart.getCount(); v++) {
                    MimeBodyPart part = (MimeBodyPart) multiPart.getBodyPart(v);
                    System.out.println("PART ENCODING 111"+part.getEncoding()+"DISPOSITION "+part.getDisposition());
                  //  downloadFile("fl"+v, part) ;
                    if (Part.ATTACHMENT.equalsIgnoreCase(part.getDisposition())) {

                        downloadFile("fl"+v, part) ;
                    } if (Part.INLINE.equalsIgnoreCase(part.getDisposition())) {

                     System.out.println("_________________INLINE___________");
                }
                    if(part.getDisposition() == null){
                        System.out.println("INLINE FILE NAME "+part.getFileName());

                        //downloadFile("fl"+v, part) ;
                    }
                }

            }
        }
        System.out.println("____________END___________"+result);
        return result;
    }

O / P:

____________START______获取多PART2

2222222

22身体部位text / html; charset = us-ascii ____________END___________

  身体部位致谢,Amith K Bharathan软件工程师,印度TST软件与系统有限公司。Ltd.Infopark,Kakkanad-682 030手机:+91 99947电子邮件:[email protected] MULTI PART 2

INLINE IMAGE FILLLLL NAMEEEE空I / P com.sun.mail.imap.IMAPInputStream@75b3adecMIME

比尔·香农

如果收到多部分消息,请仔细阅读各个部分。您可以处理文本/普通部分,文本/ html部分和多部分。如果顶级消息的一部分之一是多部分,则在该子多部分中查找图像。但是,您永远不会在顶级多部分中查找图像。在顶层的“ if”语句中添加“ else”子句,您将看到丢失的内容。

您已经对MIME消息的结构做出了一些通常并不正确的假设。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

发送包含嵌入式图像的多部分html电子邮件

如何阻止电子邮件中的嵌入式图像通过GMail以附件形式显示?

通过电子邮件发送嵌入式图片

Java邮件轮询从邮件中读取嵌入式或嵌入式图像(笑脸)

对Thunderbird中的嵌入式电子邮件图像使用Content-ID和cid

如何使用MailApp在电子邮件中包含嵌入式图像

Python:多部分html电子邮件与嵌入式图像和附件一起发送

如何在电子邮件消息中的嵌入式图像中添加“名称”标头

curl:发送带有嵌入式图像和附件的html电子邮件

使用Microsoft Graph或Outlook REST API在电子邮件正文中渲染嵌入式图像

Exchange服务器阻止带有嵌入式图像的电子邮件

Ubuntu的。发送带有嵌入式图像的电子邮件

Python HTML-嵌入式电子邮件图像为空

使用python脚本发送带有嵌入式图像的html电子邮件

无法在Google Apps脚本中向电子邮件添加嵌入式图像

如何使用Laravel 5.8在电子邮件中嵌入嵌入式图像

如何使用Mailkit读取电子邮件正文中的嵌入式图像

Outlook等电子邮件客户端中的嵌入式图像缩小

使用Django在HTML电子邮件模板中将图像作为嵌入式附件发送

嵌入式图像未显示在电子邮件VBA上

如何发送带有base64嵌入式图像的电子邮件

使用JavaMail发送带有嵌入式图像的HTML电子邮件-图像加载缓慢?

将图像比例限制为C#构造电子邮件中的嵌入式附件

我可以在收到的电子邮件中找到有关嵌入式图像的信息?

在Google App Engine(Java)中发送带有嵌入式图像的电子邮件

无法在ExtentReport中查看使用JavaMail API发送到其他电子邮件ID的嵌入式图像?

使用 PHP imap 获取电子邮件会弄乱嵌入式图像

docusign 嵌入式电子邮件通知

PowerShell 中电子邮件的嵌入式图像