Domino 9 und frühere Versionen > Entwicklung

Löschen von Dokumenten in einem Agenten

(1/3) > >>

braincrusha:
Hi,

also unser Notesserver wird gerade extrem überflutet von einer riesigen Welle an Spammails.

Nun platzt langsam unser Mail.Box

Ich will einen Agent schreiben der die ganze Mail.box durchschaut und die Dokumente herauslöschen welche bei dem Feld FailureReason einen bestimmten Wert stehen haben.

Hat irgendjemand ne Idee?? Welche Sprache sollte ich benützen?? Ich hab halt keine Ahnung wie ich ihm sage dass er das dokument löschen soll.

Glombi:
Am besten machst Du in der mail.box eine Ansicht mit der Formel

SELECT FailureReason = "xyz"

dann kannst Du dort alles markieren und löschen.

Andreas

Axel:
Hi,

ich würde das mit Script machen. Zuerst alle Dokumente in eine Collection und dann die Dokumente einzeln durchlaufen und das entsprechende Feld prüfen.

Könnte so in etwa aussehen:

Sub Initialize
     Dim session As New NotesSession
     Dim db As NotesDatabase
     Dim dc As NotesDocumentCollection
     Dim doc As NotesDocument
     Dim tempdoc As NotesDocument

     Set db = session.CurrentDatabase
     Set dc = db.AllDocuments
     Set doc = dc.GetFirstDocument()
     While Not(doc Is Nothing)
          Set tempdoc = dc.GetNextDocument(doc)
          If doc.FailureReason(0) = "Fehlerursache" Then
               Call doc.Remove(True)
          End If
          Set doc = tempdoc
     Wend
End Sub

Axel

braincrusha:
okay hab beides ausprobiert funktionieren beide.

Hab mich für den Weg mit der Ansicht entschieden bis jetzt *g* und häng schon wieder fest.

Also das Feld das geprüft wird enthält immer den Absender am Anfang und dann die Meldung. Beispiel:

Benutzer hugo (hugo@vow0003.voigtag.de) ist nicht im öffentlichen Adreßbuch aufgeführt

nun soll das Dokument nur in der Ansicht sein wenn dieser Teil ("ist nicht im öffentlichen Adreßbuch aufgeführt") in diesem Feld ist. Hab schon einiges ausprobiert.

"c_1 := "IST NICHT IM ÖFFENTLICHEN";
c_2 := @UpperCase(DeadFailureReason); SELECT
@Contains(c_2; c_1);"

funktioniert aber nicht. Jemand ne Idee?

Glombi:
Heisst das Feld wirklich "DeadFailureReason" oder evtl. doch "FailureReason"

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln