hi baba
ich hätte noch eine andere variante:
1. erstelle einen script agenten
(alles markieren > kopieren > in neuen agenten (gemeinsam benutzt, "run once, @commands... ", lotusscript) wieder einfügen) mit folgendem code:
------------------------------------------------ ab hier >
Dim db As NotesDatabase
Dim docmail As notesdocument
Sub Initialize
On Error Goto ErrorHandler
Dim s As New notessession
Dim doc As notesdocument
Dim mailList List As String
Set db = s.CurrentDatabase
Set doc = s.DocumentContext
'-- Mail zusammenstellen'
sendTo$ = "baba@baba.ch"
fromAdr$ = "baba@baba.ch"
subject$ = "Feedback Formular"
body$ = "___________________________________________________________________________"& Chr(13) &_
implode(doc.txtBody, Chr(13)) & Chr(13)&_
"___________________________________________________________________________"& Chr(13)
' -- für die Buchhaltung
doc.docSentTo = sendTo$
doc.docSentAt = Now
doc.docSentFrom = fromAdr$
'-- Mail versenden
Call SendMail(subject$, body$ & msg, sendTo$, fromAdr$)
'-- HTML Antwort an den Browser senden
Print "<html><head><title>Danke für Ihren Beitrag</title></head>"
Print "<body><h2>Danke für Ihren Beitrag, das Dokument wurde gespeichert oder was auch immer</h2></body></html>"
Exit Sub
ErrorHandler:
Print "Agent: <agentname> <br>Error " & Str(Err) & ": " & Error$ & "<br>"
Print "Line: " & Str(Erl)
End Sub
Sub SendMail(subject As String, Body As String, sendTo As String, fromAdr As String)
Dim mailBox As New NotesDatabase("","mail.box")
Dim s As New notessession
Set db = s.CurrentDatabase
Set docMail = New NotesDocument( db )
docMail.Form = "Memo"
docMail.Importance = "2"
docMail.PostedDate = Now
docMail.From = fromAdr
docMail.Subject = subject
docMail.SendTo = sendTo
docMail.Recipients = sendTo
docMail.Body = "___________________________________________________________________________" & Chr(13)_
& Body
Call docMail.save (0,0)
Call docMail.copyToDatabase( mailBox)
Call docMail.remove (True)
End Sub
Function implode(arr As Variant , separator As String)
'Beschreibung: Generiert aus einem Array ein String mit definiertem Separator
'Par1: muss als array übergeben werden, d.h Listenfeld als Object (doc.feldname)
'Par2: kann beliebige Zeichenkette enthalten
Dim x As Double
Dim fixedImplode As String
fixedImplode = ""
If (separator = "") Then
separator = " "
End If
For x = 0 To Ubound(arr)
fixedImplode = fixedImplode + (separator + arr(x))
Next
implode = Mid$(fixedImplode,Len(separator)+1,Len(fixedImplode))
End Function
<--- bis da ------------------------------------------------
2. rufe den agenten nun im "webQuerySave" event deiner Kontaktform auf (@Command([ToolsRunMacro]; "<name des agenten>")
3. jetzt kannst du deinen button mit javasript die validierung vornehmen lassen und wenn es ok ist das form mit submit absenden. somit wird der agent angeworfen, das mail versendet und noch eine kleine dankesrede platziert...
alles klar?
bye bye z