Schau dir die NotesMimeEntity - Klasse mal an.
Kurz und Quick&dirty:
- du merkst dir session.convertMime
- session.convertMime = false '
- du holst dir das root-Mime mit document.getMimeEntiy
- du suchst mit getNextEntity solange bis du ein entity findest das vom contentType/subtype = "text/html" ist.
- dann liest du das Entity mit getContentAsText in einen Notesstream ein, veränderst den HTML-Stream passend (musst ggf. bis zum ersten HTML-Tag parsen)
- den Stream schreibst du mit setContentFromText(stream, "text/html; charset=utf-8", ENC_NONE) wieder zurück.
- Das Selbe machst du zwecks Kompatibilität noch für "text/plain"
- Das Mimeentity im Doc updaten mit doc.closeMimeEntity(true)
- session.convertMime nach Verarbeitung wieder auf gemerkten Wert herstellen.
Obige Vorgehensweise berücksichtigt ggf. nicht alle Eventualitäten, z.B. kann es sein, dass auch eine HTML-Datei im Anhang gefunden wird. Du wirst dich auch mit Enconding-Problemen und dergleichen rumärgern dürfen, man sollte auch IMMER ein closeMimeEntiy aufrufen, bevor man wieder über das Item-Interface zugreift.... habe mich schon oft mit/über diese Mime-Items geärgert, weil sie alles andere als einfach zu handeln sind.
ACHTUNG: komm nicht auf die Idee so ein RTF-Item mit aktiver MIME-Option in eine TEILmaske zu packen. Es verschwinden Inline-Images und eine "Cannot save Bitmap to Disk" Fehlermeldung verhindert manchmal das Speichern, wenn "kaputte" Bilder drin sind

so genug gelästert... hoffe konnte dir trotzdem ein wenig weiter helfen.
Gruß
Roland