Hallo zusammen,
ich habe so eine Art Kampagnenmanagement zusammengebaut wo aus diversen Richtextfeldern eine Mail erstellt werden soll.
Diese Felder werden in eine Zwischenmaske als Mime inhalte gespeichert und später zu einem Mime Objekt mit dem Namen Body zusammengefügt und versendet.
Das klappt auch alles Prima und ohne Probleme.
Nun aber der Haken. Wenn ich in einem der Richtextfelder ein Anhang hinzufüge, spinnt Notes scheinbar rum und fügt jedem Mime Objekt beim Konvertieren diesen Anhang hinzu.
Jemand eine Idee ?
Function ConvertRichText(Feld1 As String,Feld2 As String,Feld3 As String,Feld4 As String, Feld5 As String, lndoc As NotesDocument)
Dim lns As New NotesSession
Dim newdoc As NotesDocument
Set lndb = lns.CurrentDatabase
If lndoc.MimeDocId(0)>"" Then
Set newdoc =lndb.GetDocumentByid(lndoc.MimeDocId(0))
End If
If newdoc Is Nothing Then
Set newdoc=New NotesDocument(lndb)
newdoc.Form="MimeDoc"
Else
While newDoc.HasItem(Feld1)
newDoc.RemoveItem(Feld1)
Wend
While newDoc.HasItem(Feld2)
newDoc.RemoveItem(Feld2)
Wend
While newDoc.HasItem(Feld3)
newDoc.RemoveItem(Feld3)
Wend
While newDoc.HasItem(Feld4)
newDoc.RemoveItem(Feld4)
Wend
While newDoc.HasItem(Feld5)
newDoc.RemoveItem(Feld5)
Wend
End If
strmimewarning = lns.GetEnvironmentString("MIMEConvertWarning", True)
Call lns.SetEnvironmentVar("MIMEConvertWarning", "1", True)
lns.ConvertMime = False
Call newdoc.ReplaceItemValue( "DocID", Cstr( newdoc.UniversalID ))
Call newdoc.ReplaceItemValue( "$NoteHasNativeMIME", "1" )
Set lnitem = lndoc.GetFirstItem( Feld1)
Call lnitem.CopyItemToDocument( newdoc, Feld1 )
Set lnitem = lndoc.GetFirstItem( Feld2)
Call lnitem.CopyItemToDocument( newdoc, Feld2 )
Set lnitem = lndoc.GetFirstItem( Feld3)
Call lnitem.CopyItemToDocument( newdoc, Feld3 )
Set lnitem = lndoc.GetFirstItem( Feld4)
Call lnitem.CopyItemToDocument( newdoc, Feld4 )
Set lnitem = lndoc.GetFirstItem( Feld5)
Call lnitem.CopyItemToDocument( newdoc, Feld5 )
Call newdoc.Save( True, True )
lndoc.MimeDocID = Cstr(newdoc.NoteID)
Call lndoc.Save(False,True)
Call refreshDocument( lns, lndb, newdoc )
strnoteid = newdoc.NoteID
Set newdoc = Nothing
Call lns.SetEnvironmentVar("MIMEConvertWarning", strmimewarning, True)
lns.ConvertMime = True
End Function
Nur Feld 2 enthält einen Anhang!
verdopplung der Anhänge.... dazu fällt mir noch was ein...
versuch mal das Feld folgendermaßen zu löschen
dim mime as NotesMimeEntity
set mime = doc.getMimeEntity( Feld1 )
if mime is nothing then
while doc.hasItem(feld1) ' normales Feld oder nicht vorhanden
doc.removeItem( Feld1 )
wend
else
call mime.Remove()
call doc.CloseMimeEntities(True, Feld1 ) ' WICHTIG: Das Mime-Entity schließen (Sonst:ggf. Notescrash)
end if
ich weiß nicht ob das dein Problem löst, ich hatte jedenfalls auch das Problem das ich die sch*** MIME-Items nicht mehr sauber wegbekam.
Gruß
Roland