Autor Thema: Mit Agent erzeugte Internetmails verlieren Formatierungen  (Gelesen 1927 mal)

Offline Hatschi

  • Junior Mitglied
  • **
  • Beiträge: 96
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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz