Servus
Ich habe den kSPAM 1.4b (mit der neuen Schablone - kSPAM quarantine) laufen.
Dabei gibt es einen Agent der das $Readers Feld setzt. Funktioniert alles wunderbar (es gibt dann 1 Sicht 'My Spam' und dort sieht jeder User seine SPAM-Mails),
aber, ich habe ja auch 'Gruppen' Mailboxen, dort steht dann natürlich im $Readers z.b. CN=office drinnen, es gibt aber keinen user Offcie, sondern es dürfen die User der Gruppe Office auf die Inbox zugreifen.
Den Gruppennamen im Personendokument aufnehmen hilft leider nichts, da er da offenbar keine Auflösung macht.
Ich würde mir jetzt denken, am einfachsten würde es doch gehen, wenn man dem Agent beibringt das er nicht nur den Usernamen im $Readers einträgt den er in der names.nsf findet (anhand der email adresse) sondern wenn Username = CN=office, dann soll er auch die Rolle [Office] eintragen, die Gruppe Office bekommt dann die Rolle und schon sehen die Leute von der Office Gruppe unter My Spam jeweils ihre eigenen mails als auch die, die an office gingen.
Oder hat schon jemand eine andere Lösung dafür?
P.S: Was schon gehen würde, ist im Personendokument von 'offcie' die Namen der Leute eintragen, dann trägt er auch diese in $Readers ein, jedoch klappt dann die adressierung nicht mehr so richtig...
Ich hätte schon ein wenig an dem Script gebastelt, aber LotusScript ist doch ein wenig anders ;-)
Zumindest habe ich die richtige stelle gefunden, glaube ich ;-)
Lotus Script:
ProcessAgain:
If doc.HasItem("Recipients") Then
' Mail arrived via SMTP and was captured by kSpam
iRecipient=0
Forall vKey In doc.Recipients
vKey=Lcase(vKey)
If vKey<>"" Then
Set vwecLookup=viewRecipientLookup.GetAllEntriesByKey(vKey,False)
Set vweLookup=vwecLookup.GetFirstEntry
While Not vweLookup Is Nothing
iRecipient=1
docDummy.tmpReaders=vweLookup.ColumnValues(1)
docDummy.ReadersAppend=Evaluate(|@Trim(@Unique(ReadersAppend:tmpReaders))|,docDummy)
Set vweLookup=vwecLookup.GetNextEntry(vweLookup)
Wend
End If
End Forall
If iRecipient=0 Then
doc.flagStatus=4
Call doc.Save(True,False,True)
Set docDummy=Nothing
Set doc=col.GetNextDocument(doc)
Else
docDummy.Readers=Evaluate(|@Trim(@Unique(ReadersAppend:ReadersDefault))|,docDummy)
Set item=doc.ReplaceItemValue("$Readers",docDummy.Readers)
item.IsReaders=True
doc.flagStatus=1
Call doc.Save(True,False,True)
Set docDummy=Nothing
Set doc=col.GetNextDocument(doc)
End If
Else
cu
Chris