Domino 9 und frühere Versionen > ND7: Entwicklung
LotusScript-Agent in Mail-In-DB läuft nicht
SVU:
Hallo liebes Forum!
Ich hab schon alles zum Thema Agenten hier im Forum durchsucht, aber leider nichts passendes gefunden!
Mein Problem:
Ich habe in einer Mail-In-Datenbank einen LotusScript-Agenten geschrieben, der bei Eingang neuer Mails eine Info-Mail an einen bestimmten User-Kreis schicken soll.
Wenn ich den Agenten im Designer starte, läuft er und tut genau, was er soll. Das gleiche gilt auch, wenn ich den Agenten über die Serverkonsole mit tell amgr run... starte.
Von alleine startet er aber nicht, wenn neue Mails ankommen!
Der Agent ist mit einer Admin-ID signiert, die alle Rechte auf dem Server hat und hat bei "Ausführen im Namen von" den Server eingetragen (damit dieser als Absender drin steht).
Es taucht auch kein Eintrag im Log auf, der auf irgendeinen Fehler hinweisen würde. Er tut einfach gar nichts!
Hab ich da noch was übersehen? Bitte helft mir, ich bin ratlos! :-:
Hier mal noch der Code vom Agenten:
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim coll As NotesDocumentCollection
Dim doc As NotesDocument
Dim maildoc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim Recipients(7) As String
Recipients(0) = ...
Recipients(1) = ...
Recipients(2) = ...
Recipients(3) = ...
Recipients(4) = ...
Recipients(5) = ...
Recipients(6) = ...
Recipients(7) = ...
Set db = session.CurrentDatabase
Set coll = db.UnprocessedDocuments
Set doc = coll.GetFirstDocument
While Not (doc Is Nothing)
'** Mail erstellen
Set maildoc = New NotesDocument(db)
maildoc.Form = "Memo"
maildoc.SendTo = Recipients
maildoc.Subject = "Neue Email im Postfach 'Standardization'"
maildoc.SaveMessageOnSend = False
Set rtitem = New NotesRichTextItem( maildoc, "Body" )
Call rtitem.AppendText("Im Postfach 'Standardization' ist eine neue Email eingetroffen.")
Call rtitem.AddNewLine(2)
Call rtitem.AppendText("Klicken Sie hier, um das Dokument zu öffnen ---> ")
Call rtitem.AppendDocLink( doc, db.Title )
maildoc.Send(False)
Call session.UpdateProcessedDoc(doc)
Set doc = coll.GetNextDocument(doc)
Wend
End Sub
P.S.: Beschränkte Aktionen hab ich auch schon auf zulassen gestellt!
Gruß Sascha
klaussal:
muss es nicht
Call notesDocument.Send( attachForm [, recipients ] ) heissen ?
Axel:
Setz in den Code an den markanten Stellen mal Print "..." - Anweisungen rein. Die Ausgaben erscheinen dan in der log.nsf in den Dokumenten unter "Verschiedene Ereignisse". DA kannst du dann prüfen ob der Agent überhaupt angestoßen wird und wo es hakt.
Axel
Driri:
Hast Du schon mal im Designer ins Protokoll des Agent geschaut, ob der überhaupt losläuft ?
Welchen Trigger hast Du eingestellt für den Agent ? Ich gehe mal von "Nach Eingang neuer Mail" aus, korrekt ?
SVU:
Hallo.
Erstmal danke für die schnellen Antworten!
@klauss: Ich hab's auch mit Call... probiert. Kein Unterschied!
@Driri: Laut Protokoll ist der Agent nur gelaufen, als ich ihn von Hand gestartet hab. Von selber läuft er gar nicht los. Der Trigger ist natürlich "Nach Eingang neuer Mails".
Ich hab trotzdem mal einen Print-Befehl vor der While-Schleife eingefügt. Zur Sicherheit.
Gruß Sascha
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln