2009-04-26 6 views
0

Ich kann E-Mails von Microsoft Exchange mit einem IMAP-Client von Lumisoft lesen. Ich habe die Exchange-Servereinstellungen so eingestellt, dass jede Mail in reinen Text umgewandelt wird. Wenn ich jedoch die Informationen einlese, scheint es immer noch HTML/CSS zu enthalten.Konvertieren von HTML in Nur-Text?

Was ist der beste Weg, HTML/CSS aus dem Text einer E-Mail zu entfernen? Oder gibt es eine Einstellung auf dem Exchange-Server, die ich vermisst zu haben schien?

+2

Suchen Sie nach einer Codelösung oder einer Exchange-Einstellung irgendeiner Art? –

+0

Jede Lösung würde helfen. Als Umgehung verwende ich einen regulären Ausdruck, um alle HTML-Tags zu entfernen, jedoch werden dadurch nicht alle CSS entfernt. Eine Exchange-Einstellung wäre ideal, aber ich habe die Einstellungen ausprobiert, d. H. IMAP so eingestellt, dass nur E-Mails im Klartext angezeigt werden. Es scheint jedoch nicht zu funktionieren, wenn ich die E-Mails lese. – James

+0

Könnte ich vorschlagen, den Titel zu aktualisieren, um zu reflektieren, dass die Frage speziell über Exchange-Mail-Server-Interaktion ist, und nicht eine generische Frage "Wie konvertiere ich HTML in den Nur-Text". – hlovdal

Antwort

1

ich in der Regel nehmen Sie eine dieser Ansätze ...

  1. Verwenden von regulären Ausdrücken. Es kann ein bisschen schwierig sein, richtig zu kommen, wenn Sie eine Lösung finden müssen, die auch mit allen möglichen ungültigen Markups funktioniert, aber ich wette, jemand anderes hat es vor Ihnen getan (Tipp: google oder SO suchen).

  2. Verwenden einer HTML-Parser-Bibliothek. Sie können einen für jede populäre Programmiersprache da draußen finden. Ich empfehle das Html Agility Pack.

+0

Hallo, in der Minute, in der ich einen regulären Ausdruck verwende, den ich selbst erstellt habe und der nur das HTML ausstreicht (was das CSS verlässt), fühle ich mich nicht 100% sicher, diesen Ansatz zu verwenden. Ich würde im Idealfall eine Exchange-Server-Einstellung, die definitiv jede Mail, die ich empfange, in ein bestimmtes Postfach als Nur-Text konvertieren. Ich habe versucht, die IMAP-Einstellungen für die Mailbox auf Nur-Text zu setzen ..... es funktionierte für eine Weile und dann wurde plötzlich gestoppt! – James

+0

Entschieden, um mit der HtmlAgilityPack-Bibliothek zu gehen. – James

0

Ich bin mir nicht sicher, genau wie Ihre Einrichtung funktioniert, wenn Sie Skripte usw. ausführen können. Ein HTML-Parser wäre natürlich der beste Weg, das HTML zu parsen. Zum Beispiel könnten Sie mit Hpricot (einer Ruby-HTML-Parsing-Bibliothek) puts doc.find_element('body').inner_text tun, und das würde den Textinhalt des Dokuments drucken.

+0

Hallo, das hört sich ziemlich nach einer Lösung an, die ich verwenden könnte. Wie und wo würde ich ein Skript wie dieses ausführen? – James

+0

Der Link für Hpricot ist http://wiki.github.com/why/hpricot. Sie benötigen die Ruby-Programmiersprache, um es auszuführen http://www.ruby-lang.org/en/. – airportyh

+0

Hallo, ich habe mich gegen diese Methode entschieden, da ich nicht wirklich viel Erfahrung mit Ruby habe. – James