Domino 9 und frühere Versionen > ND6: Entwicklung
Probleme beim automatischen Erstellen einer Mail
_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