Domino 9 und frühere Versionen > Entwicklung

Kontaktformular Internet

<< < (2/2)

zaphod:
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

baba:
Hallo zaphod

erstmal herzlichen dank!

jetzt meine frage: ich habe den Agenten erstellen wollen aber leider hat mir LoNo das script nicht abgekauft! Fehlermeldung:

An operator or semicolon was expected but none was encountered 'db'

mag das  dran liegen, dass ich eine englische version habe.   ???


sorry bin noch in den @commands schuhen und mit dem scripten hab ichs nicht so.......(muss ich noch üben) :-/


herzlichen dank für die hilfe

gruss baba

zaphod:
ciao baba

hab dir eine demo db ins mail gestellt

bye bye z

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln