2015-10-12 6 views
5

Holen habe ich versucht, die bodyHTML Holen mit dem folgenden CodeAusgabe Während bodyHTML mit partid in Mailcore2

MCOIMAPFetchContentOperation * op = [imapsession  fetchMessageAttachmentOperationWithFolder:folderName uid:uid partID:partId encoding:MCOEncoding8Bit 

Und ich habe die bodyHTML mit einigen unerwünschten zusätzlichen Code. Die Html ich für einen der Post bekam ist

<div style="padding-bottom: 20px;"></div><div>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org= 
<br/>/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt; 
<br/>&lt;html xmlns=3D"http://www.w3.org/1999/xhtml"&gt; 
<br/>&lt;head&gt; 
<br/>&lt;meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8" /&gt; 
<br/>&lt;meta name=3D"viewport" content=3D"width=3Ddevice-width" /&gt; 
<br/>&lt;meta http-equiv=3D"X-UA-Compatible" content=3D"IE=3Dedge" /&gt; 
<br/>&lt;/head&gt; 
<br/>&lt;body style=3D"-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; = 
<br/>background: #EEEEEE; color: #222222; font-family: 'Open Sans', Arial, sans-= 
<br/>serif; font-size: 14px; font-weight: normal; line-height: 22px; margin: 0; = 
<br/>min-width: 100%; padding: 0; text-align: left; width: 100% !important" bgco= 
<br/>lor=3D"#EEEEEE"&gt;&lt;style type=3D"text/css"&gt; 
<br/>body { 
<br/>width: 100% !important; min-width: 100%; -webkit-text-size-adjust: 100%; -m= 
<br/>s-text-size-adjust: 100%; margin: 0; padding: 0; 
<br/>} 
<br/>.ExternalClass { 
<br/>width: 100%; 
<br/>} 
<br/>.ExternalClass { 
<br/>line-height: 100%; 
<br/>} 
<br/>#backgroundTable { 
<br/>margin: 0; padding: 0; width: 100% !important; line-height: 100% !important= 
<br/>; 
<br/>} 
<br/>img { 
<br/>outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; widt= 
<br/>h: auto; max-width: 100%; float: left; clear: both; display: block; 
<br/>} 
<br/>body { 
<br/>color: #222222; font-family: "Open Sans", Arial, sans-serif; font-weight: n= 
<br/>ormal; padding: 0; margin: 0; text-align: left; line-height: 1.3; 
<br/>} 
<br/>body { 
<br/>font-size: 14px; line-height: 22px; 
<br/>} 
<br/>a:hover { 
<br/>color: #222222 !important; 
<br/>} 

Und ich bin nicht in der Lage es auf der Web-Ansicht zu machen. Aber als ich versuchte, den Körper zu holen Methode mit der folgenden

MCOIMAPFetchContentOperation * opr = [imapsession fetchMessageOperationWithFolder:folderName uid:uid urgent:YES]; 

bekam ich die richtigen Körper-HTML und konnte es auf dem Webansicht .Der html machen ich für das obige Verfahren hätte ist: -

<div style="padding-bottom: 20px;"></div><div><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content= 
"text/html; charset=utf-8" /> 
<meta name="viewport" content="width=device-width" /> 
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
<title></title> 
</head> 
<body style= 
"-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; background: #EEEEEE; color: #222222; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-weight: normal; line-height: 22px; margin: 0; min-width: 100%; padding: 0; text-align: left; width: 100% !important" 
bgcolor="#EEEEEE"> 
<style type="text/css"> 
/*<![CDATA[*/ 
body { 
width: 100% !important; min-width: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; margin: 0; padding: 0; 
} 
.ExternalClass { 
width: 100%; 
} 
.ExternalClass { 
line-height: 100%; 
} 
#backgroundTable { 
margin: 0; padding: 0; width: 100% !important; line-height: 100% !important; 
} 
img { 
outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; width: auto; max-width: 100%; float: left; clear: both; display: block; 
} 
body { 
color: #222222; font-family: "Open Sans", Arial, sans-serif; font-weight: normal; padding: 0; margin: 0; text-align: left; line-height: 1.3; 
} 
body { 
font-size: 14px; line-height: 22px; 
} 
a:hover { 
color: #222222 !important; 
} 

Gibt es einen Parser oder eine andere Möglichkeit, um den Body HTML zu bekommen. Da muss ich die Methode mit PartID verwenden, um die bodyHTML zu holen.

+0

Was ist der Inhaltstyp des Teils? –

+1

Der Mime-Typ ist "text/HTML" –

Antwort

5

Das Problem war beim Abrufen der Nachricht mit Teil verwendet es immer die MCOEncoding8Bit für die Codierung, anstatt müssen wir die Codierung geben, die wir beim Abrufen der Nachricht erhalten, wie unten gezeigt.

for(MCOAbstractPart *abstractPart in multiAbstractPart.parts) 
    { 
MCOIMAPPart *part = (MCOIMAPPart *)abstractPart; 
MCOIMAPFetchContentOperation * op = [imapsession  fetchMessageAttachmentOperationWithFolder:folderName uid:uid partID:partId encoding:part.encoding]; 
} 
+1

Gut zu hören, dass Sie das Problem lösen! –