Agent bei MailIn soll bei eingehender Mail Body Feld "auswerten"

  • Hallo zusammen,


    ich bekomme von ein paar kopierern im haus emails die ungefähr so aussehen:



    Die E-Mails landen schon in einer mail in Datenbank. Hier möchte ich jetzt sobald eine e-mail rein kommt diese mit einem Agenten bearbeiten.
    Der Agent soll die Informationen aus dem Body Feld in einzelne Felder schreiben. (Felder Von, Datum, Faxnummer, Status).


    Meine Probleme:


    Ich habe einen Agenten erstellt der "nach Eingang neuer Mail" aktiv wird.
    Aber wie kann ich in diesem Agenten jetzt ein Dokument per Lotus Skript ansrpechen???


    So was ähnliches hab ich für die Spamberichte die täglich kommen schon gemacht, hier wird aber manull selektiert und auf einen aktionsbutton gedrückt:


    Komm überhaupt nicht weiter, kann mir jemand sagen wie ich das Dokument welches der Angent anspricht in so ein doc (NotesDocument) Objekt bekomme????


    DANKESCHÖN!!!!!

  • das dürften dann die db.unproccesseddocuments sein.

    bunt ist das dasein und granatenstark. volle kanne hoshi's!


    IBM Certified Advanced System Administrator (R5, D6, D7)
    IBM Certified Advanced Application Developer (R5, D6, D7, D8)

  • Die Dokumente auf die der Agent anspricht bekommst du über die Eigenschaft UnprocessedDocuments des NotesDatabase Objektes.


    Zu deinem Script ne Frage: Wieso gehst du da per Schleife alle Elemente durch anstatt dir per GetFirstItem das Body-Item direkt zu holen ? Ist es da mehrfach vorhanden ?

  • So wenn ich folgenden agenten manuel aus dem Menü starte, dann werden die Dokumente richtig angepasst, alles okey.


    Wenn ich den Agenten aber auf:


    "Durch Ereigniss"
    "Nach Eingang neue E-Mail"


    stelle passiert nichts. Warum läuft er nicht wenn ich an diese Mail In Datenbank eine E-Mail schicke?????




    einweisung in lotus skript genossen...

  • Schau mal im Domino Log nach, ob Dein Agent gestartet wird. Ich denke schon. Dort siehts Du aber auch, falls Du nicht genügend Rechte dazu haben solltest.


    Aber er kann nicht durchlaufen, weil er auf dem Server läuft (macht jeder Agent nach Eingang neuer Mail) und dort niemand die Messagebox bestätigen kann (weil Agents auf dem Server nicht interaktiv sind).


    Und damit wird er nach einer Weile vom Agentmanager wieder gekillt.


    Mach einfach Mal die Messagebox raus und probiere es nochmals aus.



    Andreas Hoster

  • Prinzipiell kann es an mehreren Dingen liegen dass dein Agent nicht tut was er soll:
    - Der Agent läuft überhaupt nicht: Dies kannst du überprüfen wenn du im Designer den Agenten mit der rechten Maustaste anklickst und den Punkt Protokoll/log aufrufst. Wenn hier die Meldung kommt dass der Agent noch nie gelaufen ist, dann liegt es am Trigger.
    - Der Agent läuft bricht aber mit einer fehlermeldung ab: Schau ins Domino-Log wie die Fehlermeldung lautet und korrigier ihn.



    suntsi
    Wie kommst du denn auf die Sache mit der Messagebox ?
    Eine Messagebox auf dem Server ergibt nur einen Eintrag auf der Serverkonsole. Eine Bestätigung oder useraktion ist hierfür nicht nötig.

  • taurec


    Habs nochmals ausprobiert, auf unserem Domino 6.5.1 Server tut es auch wie Du sagst.
    Als ich LotusScript Programmierung angefangen hatte, hatten wir in der Firma noch Domino 4.6.x und da hat es nicht funktioniert (auch wenn es schon damals hätte tun sollen).
    Seit damals habe ich mir angewöhnt, nur noch Print Befehle zu verwenden.


    Wenns jetzt fehlerfrei tut, ist mir das auch recht. Ich habs nur nicht wieder neu ausprobiert.

  • Anbei der funktionierende Agent. Wichtig war noch dass session.UpdateProcessedDoc( doc ) damit nicht jedesmal alle Dokumente durchgegangen werden.
    Dann hab ich noch ein paar probleme mit den Neuen Zeilen... aber grundsätzlich klappts:



    Für Tipps und verbesserungen bin ich immer Dankbar ;o)