Domino 9 und frühere Versionen > ND8: Entwicklung

Agent ausführen bei Eingang neuer Mail

(1/2) > >>

Micha B:
Ich würde gern einen Agenten ausführen bei Eingang neuer Mail. Notes ist aber als POP3 Client konfiguriert. Den Agenten habe ich, er funktioniert auch manuell. Wie kann ich das als Nicht-Programmierer durchführen? Hätte jemand bitte eine Idee nebst Code Schnipsel für mich? Vielen Dank!

koehlerbv:
Da da der Router nicht beteiligt ist: No way. Meine erste Überlegung: Du könntest als Trigger "New oder or modified documents" verwenden und beim Scannen der gerade gelieferten Documents dann selektieren, ob die interessant sind. Und wenn er eh schon manuell tut, sollte ja schon alles erledigt sein.

Bernhard

Micha B:
Vielen Dank Bernhard! Ich denke, ich hatte diese Optionen schon durchgespielt, ohne das der Agent ausgeführt wurde. Ziel war es, dass der Agent nicht immer nach dem Eintreffen neuer Mails manuell auszuführen ist. Naja, dann wird es wohl ohne erheblichen Aufwand (Lotus Script o.ä.) so nicht gehen. Trotzdem nochmals vielen Dank!

koehlerbv:
Vielleicht haben wir uns missverstanden, Micha: Ich meinte mit "selektieren" keine manuelle Handlung, sondern aus der Collection der bzw. des neuen Dokuments per Code zu entscheiden, ob dieses Mail zu verarbeiten ist oder nicht.

HTH,
Bernhard

Peter Klett:
Du nimmst einen zeitgesteuerten Agenten (z.B. alle 5 Minuten, oder stündlich, ganz nach Belieben). Dieser Agent läuft über alle Dokumente (also keine Einstellung von wegen Neues Dokument o.ä.), sucht sich die relevanten Dokumente in der Datenbank, die er noch nicht verarbeitet hat und führt die gewünschte Aktion aus. Sinngemäß so


--- Code: ---Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim col As NotesDocumentCollection
Set col = db.Search (|Form = "Memo" : "Reply" & @Text (FlagVerarbeitet) = ""|, Nothing, 0)
Dim doc As NotesDocument
Set doc = col.GetFirstDocument
Do While Not doc Is Nothing
   'Hier die Aktion eifügen, die mit dem Dokument passieren soll

   doc.FlagVerarbeitet = Now
   Call doc.Save (True, True)

   Set doc = col.GetNextDocument (doc)
Loop

--- Ende Code ---

Der Agent läuft natürlich nicht sofort, wenn die Mail eingeht, sondern nur in dem Zeitintervall, wie er eingestellt ist. An der Selektionsformel im Search musst Du evtl. noch nacharbeiten. Jetzt sind die Forms "Memo" und "Reply" berücksichtigt, damit der Agent evtl. Kalendereinträge o.ä. in Ruhe lässt. Das hängt ganz von Deinem Umfeld ab.

EDIT: Natürlich müsstest Du vor Aktivierung des Agenten alle alten Dokumente noch mit dem Flag versehen, damit beim ersten Lauf des Agenten diese nicht berücksichtigt werden.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln