Guten Morgen,
es gibt eine Datenbank mit Dokumenten, die neben vielen Erfassungsfeldern, auch ein Bodyfeld haben. Dieses Bodyfeld wird auf Knopfdruck mit dem Code unten versendet. Mails an Notesempfänger kommen genau so an, wie sie im Bodyfeld angezeigt werden. Mails an nicht Notesempfänger erhalten jedoch ein verstümmeltes Mail. Es fehlen z.B. Aufzählungen, Zeilenumbrüche und Einrückungen sehen anders auch.
Bei der Suche hier im Forum stosse ich immer wieder darauf, dass man Internetmails über MimeEntities erstellen muss. Die Beispiele arbeiten aber alle so, dass der Mailinhalt erst zur Agentlaufzeit aufgebaut wird. Ich möchte aber das schon vorhanden Feld Body versenden.
Würde es etwas bringen, wenn ich das Dokument erst als XML-Datei exportiere, mich dann zum Body durchparse um dann damit das MimeEntity zu füllen? Ob und wie das geht weiss ich allerdings noch nicht, weil ich die Klassen noch nicht verwendet habe. Oder schieße ich da mit Kanonen auf Spatzen und übersehe nur eine Kleinigkeit?
Bernd
____________________________________________
Beispielcode mit dem versucht wird das Bodyfeld internetmailgerecht zu versenden:
Sub Initialize
Dim ws As notesuiworkspace
Dim s As NotesSession
Dim db As notesdatabase
Dim uidoc As notesuidocument
Dim doc As notesdocument
Dim maildoc As notesdocument
Dim Quellrtitem As notesrichtextitem
Dim ZielRtItem As notesrichtextitem
Dim methode As integer
Set s= New notessession
Set ws=New notesuiworkspace
s.ConvertMIME = True 'Zu testzwecken eingefügt, true, bzw. false ändert nichts
Set uidoc=ws.CurrentDocument
Call uidoc.Save
Set doc=uidoc.document
Set s=New notessession
Set db=s.CurrentDatabase
Set maildoc=db.CreateDocument
maildoc.sendto=doc.EnterSendTo
maildoc.subject=doc.subject
methode=1
'für Testzwecke verschiedene Methoden um das Feld Body in das Mail zu bekommen.
'macht aber keinen Unterschied
If methode=1 Then
'Body kopieren Methode 1
Set Quellrtitem=doc.GetFirstItem("Body")
Set zielRTItem=maildoc.CreateRichTextItem("Body")
Call ZielRTItem.AppendRTItem(QuellRTItem)
Call maildoc.Send(False)
Else
'Body Methode 2
Set Quellrtitem=doc.GetFirstItem("Body")
Set zielrtitem=quellrtitem.Copyitemtodocument(maildoc, "Body")
Call maildoc.Send(False)
End If
End Sub