I tried to extract the body of HTML using the following code
MCOIMAPFetchContentOperation * op = [imapsession fetchMessageAttachmentOperationWithFolder:folderName uid:uid partID:partId encoding:MCOEncoding8Bit
And I got bodyHTML with some unwanted extra code. The html I received for one of the mails
<div style="padding-bottom: 20px;"></div><div><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org= <br/>/TR/xhtml1/DTD/xhtml1-strict.dtd"> <br/><html xmlns=3D"http://www.w3.org/1999/xhtml"> <br/><head> <br/><meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8" /> <br/><meta name=3D"viewport" content=3D"width=3Ddevice-width" /> <br/><meta http-equiv=3D"X-UA-Compatible" content=3D"IE=3Dedge" /> <br/></head> <br/><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"><style type=3D"text/css"> <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/>}
And I can not display it in the web view. But when I tried to extract the body using the following method
MCOIMAPFetchContentOperation * opr = [imapsession fetchMessageOperationWithFolder:folderName uid:uid urgent:YES];
I got the correct html body and was able to display it in a webview. HTML code that I received for the above method: -
<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"> 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; }
Is there any parser or any other way to get the html body. Since I need to use a method using partID to retrieve bodyHTML.
source share