Author |
|
rre Newbie
Joined: 04 September 2009 Location: Italy
Online Status: Offline Posts: 7
|
Posted: 08 September 2009 at 6:29am | IP Logged
|
|
|
Hello,
I wuould like to print only the first 200 characters of the email I receive.
So I make the plain txt message, cut it, transform on html and save it. And at last display with my browser.
I tryed this code:
8<-------------------------------------------
msg.Parser.WorkingFolder = tmpPath & TmpDir
sw = New StreamWriter(tmpPath & TmpDir & "\Index.html", False)
msg = pop.DownloadEntireMessage(pop.GetMessageIndexFromUid(Udi))
If Len(msg.BodyPlainText) > 200 Then
msg.BodyPlainText = Mid(msg.BodyPlainText, 1, 200))
msg.BodyPlainText = msg.BodyPlainText & "<b>[... CUTTED ...]</b>"
End If
msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml
msg.Parser.PlainToHtmlOptions = PlainToHtmlConvertOptions.UriToLink
msg.Parser.Apply()
sw.Write(msg.GetHtmlAndSaveRelatedFiles(Nothing, VirtualMappingType.NonWeb, MessageFolderBehavior.CreateOnly))
[...]
'display the file with web browser
8<-------------------------------------------
the problem is that the msg.GetHtmlAndSaveRelatedFiles writes the complete message from mailServer, not the cutted in memory.
someone can help me?
thanks
Rre
|
Back to Top |
|
|
Igor AfterLogic Support
Joined: 24 June 2008 Location: United States
Online Status: Offline Posts: 6104
|
Posted: 08 September 2009 at 7:16am | IP Logged
|
|
|
Not sure if I got the point of this clearly enough. Looks like you'd like to create HTML content based on trimmed plaintext body. But in this situation, using GetHtmlAndSaveRelatedFiles method seems to be pointless as any links to related files will be lost, and any HTML tags too. For your scenario, I'd suggest using BodyHtmlText property of MailMessage object.
--
Regards,
Igor, AfterLogic Support
|
Back to Top |
|
|
rre Newbie
Joined: 04 September 2009 Location: Italy
Online Status: Offline Posts: 7
|
Posted: 08 September 2009 at 8:35am | IP Logged
|
|
|
Sorry, I will try to better explain.
I have to print the e-mail I receive only for the first X characters (with X from 0 to watever). Also is acceptable a X number of rows.
If on this first range there is a table or a picture or stay insite the full e-mail I have to print it.
So I think to apply what you say on Tutorials and translate on html.
But obviously cutting the first 200 char on html brutally wil not works.
And if first I translate to plain text will not works too.
I'm looking for an idea of implementation.
Thanks
Rre
|
Back to Top |
|
|
Igor AfterLogic Support
Joined: 24 June 2008 Location: United States
Online Status: Offline Posts: 6104
|
Posted: 09 September 2009 at 12:19am | IP Logged
|
|
|
I don't think there's an easy solution for the task you have at hands. If you'd like to trim HTML body, you'll need to ensure that HTML code remains correct after this operation and all the tags are closed properly, with all possible situations foreseen. This would probably require manipulating Document Object Model of HTML, so you can calculate the total length of textual content in HTML output and omit all the texts, inline images and such after the boundary is reached. You can implement this yourself, and MailBee.Html component may be helpful in this regard. Alternatively, you can engage our Professional Services to do this for you.
--
Regards,
Igor, AfterLogic Support
|
Back to Top |
|
|
rre Newbie
Joined: 04 September 2009 Location: Italy
Online Status: Offline Posts: 7
|
Posted: 09 September 2009 at 12:44am | IP Logged
|
|
|
Yes, I understand.
Thanks
Rre
|
Back to Top |
|
|
rre Newbie
Joined: 04 September 2009 Location: Italy
Online Status: Offline Posts: 7
|
Posted: 06 October 2009 at 3:02pm | IP Logged
|
|
|
Ok, I wrote a solution! javascript:AddSmileyIcon('')
The solution is to parse the message, count inside all nodes the char of text and, arrived to 'max char number', leave the text void.
Probably you can cut all the nodes, but I think a little more complex close the other just opened.
I done this with hmtlAgility pack. But for sure you can do that with the MailBee.Html.
If somebody like I can send the class on VB.NET that make this.
ciao
RRE
|
Back to Top |
|
|