Domino 9 und frühere Versionen > ND6: Entwicklung

Probleme beim automatischen Erstellen einer Mail

(1/2) > >>

_Christian_:
Hallo zusammen,

ich habe folgendes Problem:

Ich möchte eine Mail auf Knopfdruck erstellen, die Daten aus dem aktuellen Dokument in einerMail öffnet um diese weiterleiten zu können.

Funktioniert soweit ganz gut
Dummerweise schaffe ich es aber nicht den erstellten Text vor der Signatur einzufügen.
Der Text wird immer hinter der Signatur abgedruckt. ???

Kann mir da jemand helfen?

Hier ein Auszug aus meinem Code:

Dim rtitem As NotesRichTextItem
   Set rtitem = New NotesRichTextItem ( mailDoc, "ody" )
   Call rtitem.AddNewline(1)
   Call rtitem.AppendText ("Dear Customer,")
   Call rtitem.AddNewLine(1)
   Call rtitem.AppendText("your registration was successful!")
   Call rtitem.AddNewLine(1)
   Call rtitem.AppendText("Please enter the code below to complete registration.")
   Call rtitem.AddNewline(2)
   Call rtitem.AppendText("User: " + User)
   Call rtitem.AddNewline(1)
   Call rtitem.AppendText("Serial: " + Serial)
   Call rtitem.AddNewline(1)
   Call rtitem.AppendText("Registration Key: " + RegCode)
   
' fill other fields
   
   mailDoc.Subject = "Successful Registration!"
   mailDoc.EnterSendTo = SendTo
   mailDoc.Body = rtitem.GetFormattedText(False,0)

Mfg

Christian

koehlerbv:
Hier fehlen entscheidende Teile des Codes - vor allem ist nicht ersichtlich, was Du noch im Frontend tust (das Einfügen der Signatur ohne Programmierung wäre Frontend!).

Mehr Input, mehr Output.

Bernhard

_Christian_:
Hier mein kompletter Code des Buttons:

Ps: Meine Signatur ist eine htm-Datei die automatisch eingefügt wird.

Sub Click(Source As Button)
' user maildatabase
   Dim userMailDb As Variant
   userMailDb = Evaluate("@MailDbName")
   
' open maildatabase
   Dim mailDb As New NotesDatabase(userMailDb(0), userMailDb(1))
   
' create mail
   Dim wrk As New NotesUIWorkspace
   Dim mailDoc As NotesDocument
   Set mailDoc = mailDb.createDocument()
   
'open current document
   Dim forDoc As NotesUIDocument
   Set forDoc = wrk.CurrentDocument
   
   
   
   
   'get information from current document
   
   Dim user,serial,regcode,sendTo As String
   User = forDoc.FieldGetText("User")
   Serial = forDoc.FieldGetText("Serial")
   RegCode = forDoc.FieldGetText("RegCode")
   SendTo = forDoc.FieldGetText("SentTo")
   
   'create Mailbody (NotesRichTextItem)
   
   Dim rtitem As NotesRichTextItem
   Set rtitem = New NotesRichTextItem ( mailDoc, "ody" )
   Call rtitem.AddNewline(1)
   Call rtitem.AppendText ("Dear Customer,")
   Call rtitem.AddNewLine(1)
   Call rtitem.AppendText("your registration was successful!")
   Call rtitem.AddNewLine(1)
   Call rtitem.AppendText("Please enter the code below to complete registration.")
   Call rtitem.AddNewline(2)
   Call rtitem.AppendText("User: " + User)
   Call rtitem.AddNewline(1)
   Call rtitem.AppendText("Serial: " + Serial)
   Call rtitem.AddNewline(1)
   Call rtitem.AppendText("Registration Key: " + RegCode)
   
' fill other fields
   
   mailDoc.Subject = "Successful Registration!"
   mailDoc.EnterSendTo = SendTo
   mailDoc.Body = rtitem.GetFormattedText(False,0)
   
'open created mail
   wrk.editDocument True,mailDoc
   
End Sub


Ich bräuchte also eine Funktion oder Formel die es mir erlaubt einen Text in die Mail einzufügen, und zwar am Anfang des Body Feldes, da die Signatur schon beim Erstellen einer neuen Mail importiert wird.

Mfg

Christian

koehlerbv:
Wenn Du den eigentlichen Mail-Inhalt im Backend erzeugst, musst Du auch die Signatur dort erzeugen. Du hast Dir da ein ziemlich komplexes Thema (Frontend vs. Backend plus RichText) vorgenommen ...

Weiters:
 Dim user,serial,regcode,sendTo As String
Du weisst aber schon, dass nur die Variable "sendto" vom Typ String ist - der Rest ist vom Typ Variant. Das hat zwar mit Deinem problem nichts zu tun, aber sollte dennoch bekannt sein.

Bernhard

_Christian_:
Das würde dann ja heissen, dass jeder, der dieses Feature benutzt, das automatische Anhängen der Signatur deaktivieren muss.
Und ich müsste den Aufruf der Signatur in meinen Code mit hineinnehmen.
Oder kennt jemand eine Lösung mit der man dieses Problem eleganter lösen kann?

Bin für jede Hilfe dankbar

Mfg

Christian

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln