Autor Thema: Mail per Agent vor Zustellung in bestimmten Ordner verschieben (Formula)  (Gelesen 2330 mal)

Offline Xantox

  • Aktives Mitglied
  • ***
  • Beiträge: 106
  • Geschlecht: Männlich
Hallo Zusammen,

ich möchte gezielt diverse Emails direkt aus dem Inbox Ordner in andere bestimmte Ordner in der User-Datenbank verschieben.

Im Detail geht es um Fax-Emails, die für die User schon in vorbestimmte Ordner verschoben werden sollen, ohne das der User die Email im Eingangsordner sieht.

Ich habe jetzt einen Agenten in Formelsprache geschrieben, der mit dem Trigger (After mails arrives) funktioniert. Leider erscheinen die Emails im Inbox Ordner und werden erst nach kurzer Zeit in den jeweiligen Ordner verschoben.

Leider funktioniert der Agent nicht mit dem Trigger (before new mail arrives).

Ich habe jetz in vers. Foren herumgelesen und bin auf die "putinfolder" sowie "removefromfolder" methode gestossen.

Und da stellte sich mir die Frage, gibt es diese Methoden/Funktionen auch in anderer Form in der Formelsprache? in der Formelsprache habe ich nur addtofolder oder das @command gefunden.

Oder muss ich mir für den Agenten einen LS-Agenten bauen? ich bin leider nicht bewandert mit LS und habe jetzt hier die Hoffnung, das mir hier jemand sagt, ob ich das auch mit der Formelsprache hinbekommen kann.

Mein Agent sieht im moment so aus:

SELECT Form="Memo";
@If(
    @Begins(Subject; "Fax empfangen von");
    @AddToFolder("Fax_incoming"; "($Inbox)");
    @Ends(Subject; "wiedereingereiht");
    @AddToFolder("Fax_status"; "($Inbox)");
    @Ends(Subject; "uebertragen");
    @AddToFolder("Fax_status"; "($Inbox)");
    @Ends(Subject; "fehlgeschlagen");
    @AddToFolder("Fax_error"; "($Inbox)");
    @Ends(Subject; "geblockt");
    @AddToFolder("Fax_error"; "($Inbox)");
    "")

Grüße Xantox
4 x Domino 8.5.3 auf 3 x Win2008 64Bit und 1 x Win2003 32Bit
1 x Traveler 8.5.3.1 || 1 x Sametime Entry 8.5.1
ca. 370 x Notes 8.5.x Standard || ca. 60 x iOS Devices

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Frage: Warum verwendest Du keine Regel? Die wird vom Router ausgeführt, und das Problem des Triggerns entfällt für Dich.

Feststellung: Formelsprache und LS machen hier für Dich keinerlei Unterschied - das Problem liegt darin, wann das Ereignis ausgelöst wird. WIe das programmiert ist, spielt keine Rolle. After new mail arrives wird vom AgentManager gestartet, wenn der Server hierfür einen Timeslot zur Verfügung hat. Das kann daher - wie von Dir beobachtet - durchaus sein, dass da ein oder zwei Minuten vergehen. Mit LS kannst Du das nicht umgehen.

Bernhard

Offline Xantox

  • Aktives Mitglied
  • ***
  • Beiträge: 106
  • Geschlecht: Männlich
wegen den regeln habe ich auch schon überlegt. problem ist aber, dass die regeln von den Usern deaktiviert werden können und das möchte ich eigentlich nicht.

weiterhin kann ich die regeln nicht per schablone an alle meine user ausliefern. ein copy&paste funktioniert auch nicht, da ja die regeln in einem profildoc. gespeichert werden.

was ich nicht verstehe ist, wenn ich den agenten mit "before new mail arrives" speichere, warum nichts passiert. der agent sollte halt dann durch den router gestartet werden und die maske ist die memo maske, die im router verwendet wird.
4 x Domino 8.5.3 auf 3 x Win2008 64Bit und 1 x Win2003 32Bit
1 x Traveler 8.5.3.1 || 1 x Sametime Entry 8.5.1
ca. 370 x Notes 8.5.x Standard || ca. 60 x iOS Devices

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
"Before new mail" ist der Status, in dem der Router nur "weiss", dass ein neues Dokument da ist. Du hast dann Zugriff auf das Dokument an sich, nicht jedoch auf seinen Inhalt.

Bernhard

Offline Xantox

  • Aktives Mitglied
  • ***
  • Beiträge: 106
  • Geschlecht: Männlich
danke für die erklärung bernhard :)

jetzt stellt sich natürlich bei mir automatisch die frage, wie ich ohne auf den inhalt zugreifen zu können, die docs "vorsortieren" kann.

das heisst, die dokumente sind noch im status "unprocessed" nehm ich jetzt mal an. hierfür finde ich aber wieder nur was in ls-script  in der help-db ???

hast du vielleicht einen tipp, wie ich auf die unprocessed documents mit meinem agenten "zugreifen" kann?
4 x Domino 8.5.3 auf 3 x Win2008 64Bit und 1 x Win2003 32Bit
1 x Traveler 8.5.3.1 || 1 x Sametime Entry 8.5.1
ca. 370 x Notes 8.5.x Standard || ca. 60 x iOS Devices

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Nochmal: "Before new mail" erlaubt Dir keinen Zugriff auf Inhalte. Das bringt also nichts.
Ich denke, hier sind eher die erfahrenen Admins gefragt. Wenn Du einen Agent einbaust, musst Du ja auch dafür sorgen, dass dieser in allen Mailfiles arbeitet. Somit hast Du ein ähnliches Problem wie mit den Regeln.

Bernhard

Offline Xantox

  • Aktives Mitglied
  • ***
  • Beiträge: 106
  • Geschlecht: Männlich
hallo bernhard,

lt. dem artikel "out of the inbox" sollte es gehen, bzw. habe ich das so verstanden.

das erste beispiel (leider in LS) würde eigentlich schon fast das machen, was ich benötige:

http://www-128.ibm.com/developerworks/lotus/library/ls-Mail_processing_with_R5_mail_agents/index.html

Zitat
Example One: Filing a message

This LotusScript agent files a message into a folder other than Inbox if the subject of the message is "Vacation request."


Sub Initialize
Dim session As New NotesSession
Dim note As NotesDocument
Dim dbug As NotesLog
Dim db As NotesDatabase
Dim it As NotesItem
Set session = New NotesSession
Set sourcedb = session.CurrentDatabase
REM Log steps in our processing for debug purposes
Set dbug = New NotesLog("Router log")
dbug.LogActions = True
dbug.OpenAgentLog
dbug.LogAction("begin")
Set db = session.CurrentDatabase
REM  Make sure we have the note set correctly
If db Is Nothing Then dbug.LogAction("db is not set") Else dbug.LogAction("db is set")
Set note = session.DocumentContext
If note Is Nothing Then dbug.LogAction("note is not set") Else dbug.LogAction("note is set")
REM Note the Subject of all messages
dbug.LogAction("Subject ->" + note.Subject(0))
REM Is this message has the special subject, store it in the special folder
If note.Subject(0) = "vacation request" Then
Call note.PutInFolder( "Vacation" )
   REM PutInFolder leaves a message in the Inbox view as well. 
   REM Since we want to have it only the Vacation Folder we need to remove it from Inbox
   Call note.RemoveFromFolder("($InBox)")
   dbug.LogAction("File into Vacation Folder")
End If
dbug.LogAction("done")
dbug.Close
End Sub

danke für deine antworten. ich überlege und suche mal weiter :)
4 x Domino 8.5.3 auf 3 x Win2008 64Bit und 1 x Win2003 32Bit
1 x Traveler 8.5.3.1 || 1 x Sametime Entry 8.5.1
ca. 370 x Notes 8.5.x Standard || ca. 60 x iOS Devices

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Hallo Stefan,
Schande über mein Haupt - so geht es natürlich doch. Und Julie hat sowieso Recht  ;)

Sorry, dass meine Finger beim Schreiben schneller als das Hirn beim Denken waren. Beim Lesen von Julies Artikel fielen mir natürlich auch sofort Apps ein, in denen ich das selber so verwendet habe.

Auf die Repliken erfahrener Profi(!)-Admins würde ich trotzdem noch warten.

Bernhard

Offline Xantox

  • Aktives Mitglied
  • ***
  • Beiträge: 106
  • Geschlecht: Männlich
Das kann jedem mal passieren ;)

vielleicht wissen unsere profi admins hier noch ne idee bzw. haben noch eine anmerkung zum dem agenten. nachdem der ja auf dem router läuft und jede mail-db bedienen soll, muss der sehr performant sein - sonst seh ich schwierigkeiten auf mich zukommen ;)

falls ich was neues herausfinde, poste ich es hier als update.

schönes wochenende,

stefan
4 x Domino 8.5.3 auf 3 x Win2008 64Bit und 1 x Win2003 32Bit
1 x Traveler 8.5.3.1 || 1 x Sametime Entry 8.5.1
ca. 370 x Notes 8.5.x Standard || ca. 60 x iOS Devices

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz