Autor Thema: kSpam - Empfänger soll eigenen Spam administrieren  (Gelesen 3779 mal)

Offline DrNotes

  • Aktives Mitglied
  • ***
  • Beiträge: 183
  • Geschlecht: Männlich
Hallo Leute,

ich bin langsam am verzweifeln - vielleicht kann mir jemand von euch helfen.

Der kSpam läuft bei mir im vollautomatischen Modus ganz gut - er hat auch eine hervorragende Trefferquote.
Da derzeit nur ICH den Mailspam kontrolliere, wird mir das langsam zuviel, d.h. ich hätte gerne, das jeder User seine eigenen - und zwar nur seine eigenen - Spammails in der Mailspam-Datenbank administriert.

Ich habe zu diesem Zwecke das KS-Recipient-Field aktiviert, allerdings mit dem Ergebnis, dass ich selbst als Admin kein Dokument mehr in der Mailspam sehen kann - wenn ich dieses Feld ausschalte funzt alles, jedoch sieht wieder jeder alle Mailspam-Daten - also das Eintragen des $Reader-Feldes haut klappt irgendwie überhaupt nicht.

Variante 2 wäre mir noch lieber - da schon fixfertig, ich habe die Schablone einfach auf ODS41 komprimiert - siehe
http://www.openntf.org/projects/PMT.nsf/66d9103768cc2fed85256c59006b5433/699ce5c4bb8bf89f86256f6600534c96!OpenDocument bzw. mit dieser Schablone http://www.openntf.org/projects/PMT.nsf/66d9103768cc2fed85256c59006b5433/f8f626992d60714486256f6d003e5aed!OpenDocument allerdings mit demselben Ergebnis, dass ich bei eingeschaltetem KS_Recipient-Field die Spammails nicht sehen kann, selbst wenn ich die AllReader-Rolle aktiviere.

Kann mir jemand sagen, was ich falsch mache?

Danke im voraus!

Driri

  • Gast
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #1 am: 15.11.06 - 09:37:20 »
Hi,

ich kenne kSpam jetzt nicht (oder nur extrem oberflächlich), aber gibts da evtl. eine Option, ein Admin-Reader-Feld zu setzen ? z.B. mit einer Rolle ?

Offline DrNotes

  • Aktives Mitglied
  • ***
  • Beiträge: 183
  • Geschlecht: Männlich
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #2 am: 15.11.06 - 10:00:27 »
Hi,

ich kenne kSpam jetzt nicht (oder nur extrem oberflächlich), aber gibts da evtl. eine Option, ein Admin-Reader-Feld zu setzen ? z.B. mit einer Rolle ?

Hallo habe auch schon die Rolle [Allreader] angelegt, das ist ihm aber leider ziemlich wurscht.

Offline DPower

  • Frischling
  • *
  • Beiträge: 9
  • Notes/Domino ist prima
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #3 am: 20.11.06 - 16:10:08 »
Hallo,
kSpam setzt in das Feld einen Eintrag "kSpamAdministrators". Also müste es mir einer Gruppe mit diesem Namen fukionieren.
MfG
MfG
RRo

Offline DPower

  • Frischling
  • *
  • Beiträge: 9
  • Notes/Domino ist prima
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #4 am: 20.11.06 - 16:17:07 »
Ich habe die Einstellungen eben mal getestet. Mit der Gruppe funktioniert super.
Gruß
MfG
RRo

Offline DrNotes

  • Aktives Mitglied
  • ***
  • Beiträge: 183
  • Geschlecht: Männlich
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #5 am: 23.11.06 - 10:38:46 »
Ich habe die Einstellungen eben mal getestet. Mit der Gruppe funktioniert super.
Gruß

Hallo DPower,

vorerst mal vielen Dank für deine Bemühungen!

Ich bin jetzt soweit, dass ich als Admin zumindest alle Spammails sehe und als Admin die Spammails freigeben/löschen kann.
Auch die beiden integrierten Agenten laufen endlich einwandfrei.

Ein Problem hab ich allerdings noch:
Das Freigeben/Löschen der Mails in der Mailspam funktioniert beim Normaluser nicht - da kommt immer die
Fehlermeldung: "Sie sind zur Durchführung dieser Operation nicht berechtigt (Mailspam)".

Es hängt sozusagen bei:
......
Set docMailbox = doc.CopyToDatabase(dbMailBox)
Set docGood = doc.CopyToDatabase(dbMailGood)
....
Selbst wenn ich dem Normaluser "Managerrechte" in der Mailspam/Mailgood/Mail.box gebe, funzt es nicht.

Hab es für Testzwecke auch schon umprogrammiert, nur um zu testen, ob die Kopie des Mails in die eigene Maildatenbank funktioniert (also dbMailGood = eigene Mailbox) - aber, leider nicht.

Kann mir da vielleicht noch jemand helfen - dann hätt ichs endlich!

Danke im voraus!

Offline DrNotes

  • Aktives Mitglied
  • ***
  • Beiträge: 183
  • Geschlecht: Männlich
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #6 am: 23.11.06 - 15:15:24 »
Ich habe die Einstellungen eben mal getestet. Mit der Gruppe funktioniert super.
Gruß

Hallo DPower,

vorerst mal vielen Dank für deine Bemühungen!

Ich bin jetzt soweit, dass ich als Admin zumindest alle Spammails sehe und als Admin die Spammails freigeben/löschen kann.
Auch die beiden integrierten Agenten laufen endlich einwandfrei.

Ein Problem hab ich allerdings noch:
Das Freigeben/Löschen der Mails in der Mailspam funktioniert beim Normaluser nicht - da kommt immer die
Fehlermeldung: "Sie sind zur Durchführung dieser Operation nicht berechtigt (Mailspam)".

Es hängt sozusagen bei:
......
Set docMailbox = doc.CopyToDatabase(dbMailBox)
Set docGood = doc.CopyToDatabase(dbMailGood)
....
Selbst wenn ich dem Normaluser "Managerrechte" in der Mailspam/Mailgood/Mail.box gebe, funzt es nicht.

Hab es für Testzwecke auch schon umprogrammiert, nur um zu testen, ob die Kopie des Mails in die eigene Maildatenbank funktioniert (also dbMailGood = eigene Mailbox) - aber, leider nicht.

Kann mir da vielleicht noch jemand helfen - dann hätt ichs endlich!

Danke im voraus!

So jetzt habe ich das Problem genau lokalisiert:
**) Jeder "normale" Mitarbeiter sieht in der Mailspam nur die an ihn adressierten Mails, da es ein $Readers-Feld gibt
**) bei der Freigabe des Mails, soll das $Readers-Feld gelöscht werden,mittels:
......
Call Doc.RemoveItems ("$Readers") - wenn ich diese Zeile ausklammere gehts, sonst nicht
doc.Flagstatus=3
Call doc.Save (True,False,True)
Set docMailbox = doc.CopyToDatabase(dbMailBox) - ab hier gibts dann Probleme
Set docGood = doc.CopyToDatabase(dbMailGood)
....
Im $Readers steht: CN=Max Mustermann, [AllReaders], LocalDomainServers, LocalDomainAdmins, OtherDomainAdmins.
Der Mitarbeiter hat Editor-Rechte in der Mailspam und steht im $Readers-Feld - selbst bei Managerechte gibts Probleme.

Hat hier jemand eine Idee, warum nur ich als Admin das $Readers-Feld löschen kann?
« Letzte Änderung: 23.11.06 - 15:28:04 von DrNotes »

Driri

  • Gast
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #7 am: 23.11.06 - 15:18:47 »
Vermutlich steht eine Rolle oder so für die Admins in einem zusätzlichen Leserfeld. Dann stört es auch nicht, wenn Du das $Readers löschst.

Warum soll das $Readers denn überhaupt gelöscht werden ?

Offline DrNotes

  • Aktives Mitglied
  • ***
  • Beiträge: 183
  • Geschlecht: Männlich
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #8 am: 23.11.06 - 15:37:15 »
Vermutlich steht eine Rolle oder so für die Admins in einem zusätzlichen Leserfeld. Dann stört es auch nicht, wenn Du das $Readers löschst.

Warum soll das $Readers denn überhaupt gelöscht werden ?

Naja, also man muss im Serveradressbuch eine Gruppe namens "kSpamAdministrators" anlegen und zusätzlich die Rolle [AllReaders] aktivieren.
In diese Gruppe hab ich den Server und die Administratoren gegeben - die sehen dann alles.

Warum das $Readers-Feld löschen - gute Frage, ist in diesem Agent schon so drinn gewesen.

Allerdings habe ich bei uns Projekte-Datenbanken laufen, wo jeder Mitarbeiter die entprechenden Mails je nach Projektzugehörigekeit reinkopiert - also mit einem Button, das ganze läuft über einen Agent.

Könnte es jetzt sein, das dann irgendwer die Mails in der Projektedatenbank nicht sieht??

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #9 am: 23.11.06 - 15:38:28 »
Könnte nicht nur, sondern das ist dann so - das Readers item wird ja mitkodiert.

Bernhard

Offline DrNotes

  • Aktives Mitglied
  • ***
  • Beiträge: 183
  • Geschlecht: Männlich
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #10 am: 23.11.06 - 15:53:28 »
Vermutlich steht eine Rolle oder so für die Admins in einem zusätzlichen Leserfeld. Dann stört es auch nicht, wenn Du das $Readers löschst.

Warum soll das $Readers denn überhaupt gelöscht werden ?

Im Anhang der Code des Agenten:

Sub Initialize
   Const sMailbox="mail.box"
   Const sMailGood="mailgood.nsf"   
   
   Dim uiw As New NotesUIWorkspace
   
   Dim sess As New NotesSession
   Dim dbCurrent As NotesDatabase
   Set dbCurrent=sess.CurrentDatabase
   
   Dim docProfile As NotesDocument
   Set docProfile=dbCurrent.GetProfileDocument("Configuration") '--da steht nur der Servername drinnen
   Dim sServer As String
   sServer=docProfile.KS_Server(0)
   
   If sServer="" Then
      Messagebox "Please create a Configuration Profile !"
      Exit Sub
   End If
   
   Dim dbMailbox As New NotesDatabase(sServer,sMailbox)
   Dim dbMailGood As New NotesDatabase(sServer,sMailGood)
   
   Dim docMailbox As NotesDocument
   Dim docMailGood As NotesDocument
   Dim docOld As notesdocument
   
   Dim col As NotesDocumentCollection   
   Dim doc As NotesDocument
   
   Set col=dbCurrent.UnprocessedDocuments
   Set doc=col.GetFirstDocument
   
   While Not (doc Is Nothing)
      
      Call doc.RemoveItem("$Readers")
      doc.flagStatus=3
      Call doc.Save(True,False,True)
      
      Set docMailbox=doc.CopyToDatabase(dbMailbox)
      Set docGood=doc.CopyToDatabase(dbMailGood)
      
      
      Set doc=col.GetNextDocument(doc)
      
   Wend
   
   Call uiw.ViewRefresh
End Sub

Soll ich dem Mitarbeiter mittlels LS - hier im Agenten - kurz Admin-Rechte geben, ihn sozusagen nur zum Löschen des $Reader-Feldes in die "kSpamAdministrators"-Gruppe geben, oder gibts einen besseren Vorschlag?

Driri

  • Gast
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #11 am: 23.11.06 - 16:17:23 »
Okay, jetzt versteh ich erst, wo das Problem liegt.

Wenn das $Readers im Dokument erhalten bleibt, ist die Kopie des Dokumentes auch entsprechend eingeschränkt.

Ich vermute, daß es ein zweites Leserfeld gibt, so daß beim Löschen von $Readers der User den Zugriff auf das Dokument verliert. Dadurch schlägt dann natürlich das CopyToDatabase fehl.

So adhoc fallen wir nur zwei Möglichkeiten ein :

a) Vorausgesetzt es gibt noch weitere Leserfelder, schießt Du diese alle weg, kopierst das Dokument und setzt dann von mir aus wieder ein Leserfeld mit der Admingruppe oder so, damit nicht jeder das Ursprungsdokument sehen kann.

b) Du baust einen zweiten Agenten, der mit Serverberechtigung läuft und der den Kopiervorgang startet. Dafür kannst Du diesem Agenten dann die DocID übergeben.

Offline DrNotes

  • Aktives Mitglied
  • ***
  • Beiträge: 183
  • Geschlecht: Männlich
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #12 am: 24.11.06 - 18:20:02 »

b) Du baust einen zweiten Agenten, der mit Serverberechtigung läuft und der den Kopiervorgang startet. Dafür kannst Du diesem Agenten dann die DocID übergeben.

Hallo Driri,

wie meinstn das mit dem serverbasierten Agenten?.

Ich habe jetzt obigen Code in einen Agenten verpackt, diesen mit der Server-ID signiert, und mit dem Button mittels ToolsRunMacro... auf diesen Agenten verwiesen.

Leider funktioniert es nicht!

Ich habe schon soviele Varianten durchprobiert, dass ich mittlerweile nicht mehr weiss, was ich eventuell noch probieren könnte.

Hat vielleicht irgendjemand von den vielen Spezialisten in diesem Forum einen heissen Tip für mich? Ich bin jetzt echt schon total verzweifelt, weil alles - bis auf das Removeitem ("$Readers") -  funktioniert und ich die Routine vorher nicht einspielen kann.

Driri

  • Gast
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #13 am: 27.11.06 - 09:47:30 »
Ich setze jetzt einen Domino 6 vorraus.

Dann kannst Du in den Eigenschaften des Agenten das "Run on behalf of" einstellen. Wenn Du dort den Server einträgst, läuft der Agent bei Ausführung mit der Berechtigung des Servers. Dieser sollte ja trotz entferntem Leserfeld noch an das Dokument herankommen.

Du rufst den Agent dann auf mit

docid = doc.NoteID
...
-Leserfeld entfernen-
...
Call agent.RunOnServer(docid)


Im Agenten bekommst Du das Dokument, indem Du den Parameter des Agents abfragst :

Set doc = db.GetDocumentByID(agent.ParameterDocID)
...
-Kopieren-
...


Mist, hab gerade gesehen, daß das das R5-Forum ist, da geht das mit RunOBehalfOf nicht. Ich würde das trotzdem so versuchen und den Agent dann mit Server-ID signieren.
Wenn ich die Hilfe richtig deute, läuft der Agent bei Aufruf vom Client per RunOnServer mit den Rechten des Signierers.

Zitat
If a Notes client invokes RunOnServer, security is through the signer of the agent.
« Letzte Änderung: 27.11.06 - 09:51:30 von Driri »

Offline DrNotes

  • Aktives Mitglied
  • ***
  • Beiträge: 183
  • Geschlecht: Männlich
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #14 am: 28.11.06 - 12:55:11 »
Zitat

Im Anhang der Code des Agenten:

Sub Initialize
   
      
      Call doc.RemoveItem("$Readers")
      
End Sub
Für alle, die es interessiert - Problem gelöst.
Ich habe anstatt
Call doc.RemoveItem("$Readers")  
Call dc.ReplaceItemValue ("$Readers","*")
verwendet.

Jetzt gehts.

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #15 am: 28.11.06 - 13:00:03 »
Wie Ingo schon schrieb: Alles spricht dafür, dass es neben $Readers ein weiteres Leserfeld gibt. Durch das Verhalten nach Deiner Codeänderung dürfte es sogar sicher sein. Du solltest mal lieber nach dem zweiten (oder noch mehr?) Leserfeld suchen. Unnötige Leserfelder sind nicht der Bringer.

Bernhard

Offline DrNotes

  • Aktives Mitglied
  • ***
  • Beiträge: 183
  • Geschlecht: Männlich
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #16 am: 28.11.06 - 13:30:15 »
Wie Ingo schon schrieb: Alles spricht dafür, dass es neben $Readers ein weiteres Leserfeld gibt. Durch das Verhalten nach Deiner Codeänderung dürfte es sogar sicher sein. Du solltest mal lieber nach dem zweiten (oder noch mehr?) Leserfeld suchen. Unnötige Leserfelder sind nicht der Bringer.

Bernhard

Hallo Bernhard,

ich habe jetzt nochmals nachkontrolliert.

Lt. Dokument-Eigenschaften gibts lediglich zwei Felder des Typs "Texliste":
* $Readers
*UpdatedBy: da steht der Server drinnen.


Ich habe jetzt zsätzlich zum
-- Call doc.RemoveItem("$Readers") ein
-- Call doc.RemoveItem("UpdatedBy") versucht,
aber er kommt trotzdem mit der ursprünglichen Fehlermeldung.

Wichtig ist mir, dass das freigegebene Spam-Mail in der Mailbox vom Besitzer bzw. von Mitarbeitern (Vertretung),
die Editor-Rechte in der Mailb0x haben,gesehen wird.
Wenn dann ein solches Mail aus der Mailbox eventuell weitergeleitet/einem Projekt zgeordnet wird, fällt das
$Readers im weitergeleiteten Mail sowieso weg.

Solltest du dennoch einen anderen Vorschlag haben, würde ich mich aber trotzdem drüber freuen.





Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #17 am: 28.11.06 - 13:33:18 »
Textliste ist doch nicht der Punkt, sondern die Property READ-WRITE ACCESS NAMES.

Bernhard

Offline DrNotes

  • Aktives Mitglied
  • ***
  • Beiträge: 183
  • Geschlecht: Männlich
Re: kSpam - Empfänger soll eigenen Spam administrieren
« Antwort #18 am: 28.11.06 - 14:00:24 »
Textliste ist doch nicht der Punkt, sondern die Property READ-WRITE ACCESS NAMES.

Bernhard

Hallo Bernhard,

wo du Recht hast, hast du Recht!

Stimmt - wie schon von Ingo vermutet - es gibt ein zweites Reader-Feld, nämlich:
*$Readers und
* KS_RECIPIENTS !!!!!!! -- da steht die Gruppe "KSpamAdministrators"

Ich habs irgendwie nicht gecheckt.

Wenn ich jetzt ein
-- Call doc.RemoveItem("$Readers") und ein
-- Call doc.RemoveItem("KS_RECIPIENTS")
mache, funktioniert es - ich kanns kaum glauben  ;D

Bernhard und Ingo, 1000 (tausend) Dank an Euch beide!!!!!

Ab morgen kann jeder sein Spam selbst administrieren und ich hab viiieeeel weniger Arbeit!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz