Ich habe den Agenten wie folgt erstellt....
- Anzahl aller Mailboxen (Benutzer wie Mail-in-DB) aus dem Domino Adressbuch ermitteln
- Daraus Array-Größe festlegen
- Abspeichern aller Mailboxendateinamen (im Format mail\xxx.nsf) in einem Array
- Über eine Schleife greife ich auf die Mailboxen zu und verschiebe die Mails aus den Ordnern Spam bzw. Ham in die vorgesehenen Mailboxen
Dieser Agent wird nach dem Vorschlag von umi ...
Der Einfachheit halber würde ich den Agent zentral starten.
aus einer DB heraus gestartet.
Doch beim Verschieben der Mail (Call doc.CopyToDatabase(spamDb)) aus dem Ordner in die Mailbox bekomme ich folgende Fehlermeldung "Type mismatch".
spamDB ist ausserhalb von Schleife gesetzt.
Egal ob der Agent manuell oder automatisch gestartet wird.
Warum?
Set maildb= session.Getdatabase(servername, databasename(counter))
'Spam-Mails verschieben
Print "Mailbox " & databasename(counter) & " geöffnet!"
Ordner = "-Spam\Spam"
Set view = maildb.GetView(Ordner)
If view Is Nothing Then
Print "Fehler: kein Spam-Ordner in Mailbox " & databasename(counter) & " vorhanden!"
Call agentmailer("Ham-Spam Agent hat Fehler gemeldet! " &"Fehler: kein Spam-Ordner in Mailbox " & databasename(counter) & " vorhanden!")
Else
'Verarbeitung der Mails
Print "Spam-Ordner geöffnet!"
Call view.Refresh
view.AutoUpdate = False
Set vc = view.AllEntries
If vc.count > 0 Then
For intviewcounter = 1 To vc.Count
Set ve = vc.GetNthEntry(intviewcounter)
If ve.IsDocument Then
Set doc = ve.Document
If Instr(doc.Subject(0), "{Spam?}")=0 And doc.HasItem("SMTPOriginator") Then
Call doc.CopyToDatabase(spamDb)
Print "Spam: " + doc.subject(0) + " --> erfolgreich übertragen"
End If
End If
Next
Call vc.RemoveAll(True)
End If
Kann mir bitte ein Programmierer auf die Sprünge helfen. Wie gesagt hab wenig Erfahrung in LS-Programmierung.