Das Notes Forum

Domino 9 und frühere Versionen => ND6: Administration & Userprobleme => Thema gestartet von: kingof am 28.02.06 - 14:41:07

Titel: Agent "Nach Eingang neuer Mail"
Beitrag von: kingof am 28.02.06 - 14:41:07
Hallo zusammen,

folgendes Problem: Wir möchten einen Agent erstellen, der Mails beim Eingang prüft und sie je nach Auswahl ein einen Unterordner verschiebt.
Ich habe nun einen neuen Agenten erstellt, der auf das Ereignis "Nach Eingang neuer Mail" reagieren soll.  Bei "Dokumentauswahl" habe ich "enthält beliebig Test" angegeben, bei Aktion  " Dokument in Ordner 'Unerwünschte Mail' verschieben   Dokument aus Ordner 'Inbox' entfernen".

Das Ziel sollte klar sein, eine eingehende Mail, die "Test" enthält, soll in den Unerschwünschte Mail Ordner verschoben und aus dem Inbox gelöscht werden. Nur leider scheint er auf das Ereignis nicht zu reagieren. D.h. die Mail landet zunächst in der Inbox, erst wenn ich den Agenten manuell starte, verschiebt er die Mail.

Jemand ne Idee?
Titel: Re: Agent "Nach Eingang neuer Mail"
Beitrag von: Thomas Schulte am 28.02.06 - 14:42:58
Das tutet man nicht. Zumindest in der Version nicht mehr. Dazu gibt es Regeln um das zu erreichen.
Titel: Re: Agent "Nach Eingang neuer Mail"
Beitrag von: kingof am 28.02.06 - 14:44:33
Ja schon, nur leider kann man diese Regeln nicht so einfach an alle User verteilen. Aber funktionieren müsste das doch so trotzdem, oder nicht?
Titel: Re: Agent "Nach Eingang neuer Mail"
Beitrag von: Thomas Schulte am 28.02.06 - 14:56:29
Im Prinzip ja aber ich würde das trotzdem nicht machen.

Du solltest dich vielleicht mal mit den Server-Mail-Regeln beschäftigen.
Titel: Re: Agent "Nach Eingang neuer Mail"
Beitrag von: kingof am 28.02.06 - 15:28:35
Wir haben nun festgestellt, dass der Agent schon funktioniert, allerdings erst nach ein paar Minuten. Dabei ist doch eingestellt, dass der Agent bei Eingang neuer Mail laufen soll und nicht erst ein paar Minuten später. Womit kann das noch zusammen hängen?
Titel: Re: Agent "Nach Eingang neuer Mail"
Beitrag von: koehlerbv am 28.02.06 - 15:29:49
Was "sofort" ist, bestimmt der Server. Das Verhalten ist vollkommen normal.

Bernhard
Titel: Re: Agent "Nach Eingang neuer Mail"
Beitrag von: m3 am 28.02.06 - 15:45:39
Und wie ein Notes-Guru mir in meinen Anfangsjahren einmal so schön gesagt hat: "Sofort gibt es in Notes nicht, nur unmittelbar!" ;)
Titel: Re: Agent "Nach Eingang neuer Mail"
Beitrag von: koehlerbv am 28.02.06 - 15:48:14
Bei mir hiess das: "Nun seid doch nicht alle so ungeduldig!"  ;)
Titel: Re: Agent "Nach Eingang neuer Mail"
Beitrag von: Thomas Schulte am 28.02.06 - 17:18:19
Genau. Bei Notes bedeutet sofort, irgendwann innerhalb der nächsten fünf Minuten.
Titel: Re: Agent "Nach Eingang neuer Mail"
Beitrag von: koehlerbv am 28.02.06 - 17:24:33
Wenn nicht gerade alle Executives des AgentManagers "dicht" sind. Wenn doch, dann dauert es noch länger  ;D

Bernhard
Titel: Re: Agent "Nach Eingang neuer Mail"
Beitrag von: kingof am 01.03.06 - 07:35:43
Ok, dann weiß ich ja erstmal Bescheid. Danke für die schnelle Hilfe! Mal schauen, wie wir das Problem dann angehen  :-:
Titel: Re: Agent "Nach Eingang neuer Mail"
Beitrag von: SomeoneYouKnow am 01.03.06 - 08:23:27
Ja schon, nur leider kann man diese Regeln nicht so einfach an alle User verteilen.

Wenns Dir darum geht, eine Regel zu verteilen, ohne dem User zuviel zuzumuten, hab ich evtl. was für Dich. Ich stand vor 2 Jahren vor einer ähnlichen Aufgabenstellung und hab folgendes gemacht:

Mein Gedankengang war -> was passiert wenn man ganz billig unter Werkzeuge, Regeln auf "Neue Regel" klickt.
Notes tut erstmal nichts andres, als ein neues Dokument von der Maske "Mailrule" zu erzeugen von dieses per Dialogbox darzustellen
Soweit so gut... nun hatte ich überlegt, wie man die Felder automatisch befüllen kann... das an sich ist auch kein Problem.
Schön und gut - dann hätte der User zwar das Regelfenster offen mit korrekt ausgefüllten Feldern, er müsste aber dummerweise immer noch auf "Hinzufügen", "Aktion hinzufügen" und "OK" klicken,
damit die Regel tatsächlich erzeugt wird.
Die LotusScript-Funktionen, die dahinter liegen heissen ButtonAddCondition,  ButtonAddAction und ButtonOKClient, welche im Modul  "Rules_de-DE" definiert sind.
Somit lag die Lösung schon recht nahe: im onLoad-Ereignis der Mailrule-Maske die 3 Funktionen nacheinander aufrufen. Dann würden zuerst die 3 Felder automatisch befüllt, anschließend die Maske
geladen, die Bedingung und die Aktion hinzugefügt und die Dialogbox gleich wieder mit "OK" geschlossen. Der User sieht das Fenster kurz aufploppen und gleich wieder verschwinden.

Insofern habe ich in unserer Mail-Schablone eine Kopie der Maske "(RulesDlg)" erstellt und sie "(SpamRule)" genannt. In der SpamRule-Maske dann im onLoad-Ereignis die 3 Funktionen aufrufen:

ButtonAddCondition
ButtonAddAction
ButtonOKClient

Dann über Nacht den Design-Task meine neue Maske in alle Mail-DBs verteilen lassen.

Am nächsten Tag gabs dann eine Mail an alle Mitarbeiter à la "Wir sind die Helden und haben seit heute eine Spamerkennung aktiv... als solche klassifizierte Mails enthalten ab sofort [SPAM] im Betreff. Wenn Sie möchten, dass diese Mails automatisch in unerwünschte Mails verschoben werden, dann klicken Sie bitte [hier]"

In diese Mail dann einen Button mit folgendem Script eingefügt:

Code
	Dim newdoc As notesdocument
	Dim maildb As notesdatabase
	Dim session As New notessession
	Dim ws As New notesuiworkspace
	Set maildb = session.currentdatabase
	Set newdoc = New notesdocument(maildb)
	newdoc.condition = "2"
	newdoc.string = "[SPAM]"
	newdoc.folder = "($JunkMail)"
	
	Call ws.dialogbox("(SpamRule)", True, True,True,False,False, False, "Neue Regel", newdoc, True, True) 
	


Resultat: der User muss letztlich nur einen einzigen Button in einer Mail anklicken, wenn er die Regel eingerichtet haben möchte. Ein - aus meiner Sicht - dem User zumutbarer Aufwand, die Akzeptanz bei unseren Usern war auch sehr hoch.

Bitte bedenken: an der Mailschablone rumfrickeln kann übel ins Auge gehen, wenn man nicht weiss was man tut. Ich möchte auch nicht behaupten, diese Lösung sei die beste - allerdings hab ich bis heute nichts vergleichbares gefunden.. und: sie hat funktioniert.
Wenn jemand ne bessere Idee hat, bin ich natürlich offen dafür  ;D

Gruß
Ben
Titel: Re: Agent "Nach Eingang neuer Mail"
Beitrag von: Tode am 01.03.06 - 09:25:05
@Someone: nicht ganz "astrein" die Lösung, aber durchaus gangbar.
Im Prinzip könnte man sich auch noch das öffnen der Maske sparen, und die Felder per Script im Hintergrund füllen... Die Funktionen, die Du rausgefunden hast, funktionieren sicher auch ohne Frontend....Dann hättest Du keine zusätzliche Maske und müsstest auch nicht erst mal was "aufpoppen".

Wenn man jetzt ganz krass drauf ist, dann definiert man eine zentrale Datenbank Namens "Regelcontainer", und legt dort verschiedene vorgefertigte Regeln an. Der User bekommt eine neue Funktion unter "Regeln": Regel aus Vorlage erstellen, wo er per picklist die Regel (mit Beschreibungstext was diese tut) in seine eigene DB einfügen kann.

Wie gesagt: Den Ansatz finde ich gut (besser als das reine kopieren von Regeln per Script...)

Gruß
Tode