Das Notes Forum

Domino 9 und frühere Versionen => ND6: Administration & Userprobleme => Thema gestartet von: Thok am 04.12.07 - 10:53:06

Titel: Globale Voreinstellungen für OoO
Beitrag von: Thok am 04.12.07 - 10:53:06
Hallo Notesgemeinde,

ich stehe gerade vor dem Problem, dass wir unternehmensweit eine kleine Anpassung am Abwesenheitsagenten vornehmen wollen.

Derzeit ist die Vorgabe-Einstellungen des Agenten für alle Mitarbeiter "Nicht auf Mail-Nachrichten von Internet-Adressen antworten" inaktiviert. Wir möchten diese Option aber wegen zunehmender Probleme mit Spam nach Möglichkeit zentral für alle unseren Mitarbeiter aktivieren.

Ich hatte erst die vage Hoffnung in der 6er Mailschablone was zu finden, um eine zentrale Anpassung vornehmen zu können, habe aber leider nichts entdeckt, was mir weiterhilft.

Weiß jemand, ob Einstellungen am OoO-Agenten zentral möglich sind oder werden wir eine Anleitung verfassen müssen, damit die Kollegen die Anpassung selbst vornehmen (Ist ja zugegebenermaßen in diesem Fall auch nicht so viel Arbeit für die User).

Viele Grüße
Thomas
Titel: Re: Globale Voreinstellungen für OoO
Beitrag von: koehlerbv am 04.12.07 - 11:04:10
Hierfür gibt es keine zentrale Einstellung. Dir bleiben da nur drei Wege:
- User mit Anleitung und Order versehen
- Agent schreiben, der durch alle Mailfiles rennt und das entspr. Flag im OoO-Profile setzt
- Mailtemplate entsprechend ändern, dass Flag beim speichern des OoO-Profiles immer gesetzt wird.

Bernhard
Titel: Re: Globale Voreinstellungen für OoO
Beitrag von: Thok am 04.12.07 - 12:07:36
Vielen Dank für die Tipps.

Ich werde mir mal Deine Variante 2 genauer ansehen.

Viele Grüße
Thomas
Titel: Re: Globale Voreinstellungen für OoO
Beitrag von: Thok am 05.12.07 - 13:03:17
Ich habe jetzt versucht, dass ganze mit einer Mischung aus Variante 2 und 3 zu realisieren, d. h. ein bisschen Agent und ein bisschen Template:

Erst mal habe ich mir einen simplen kleinen Agenten gestrickt, der im Profildokument das Flag per Formelsprache setzt:

@SetProfileField( "OutOfOfficeProfile" ;"ExcludeInternetEmail" ; "1" )

Da ich den Aufwand scheue, den Agenten so zu erweitern, dass er sich eine Maildatenbanken nach der anderen greift (da fehlt mir einfach die Übung), hatte ich eine andere Idee gesucht und gefunden:

Ich lasse den Agenten über die Mailschablone in alle Maildatenbanken übertragen und stelle eine periodisch Ausführung per Zeitplan ein. Dann sollte der Agent ja auf allen Maildatenbanken zum genannten Zeitpunkt die Änderung vornehmen.

Glücklicherweise liegen die Maildatenbanken alle auf einem Server. Unglücklicherweise funktionierts aber schon vorher an anderer Stelle nicht.

Wenn ich meinen Agenten manuell im Designer starte, führt er die gewünschte Änderung aus. Wenn er durch die Zeitsteuerung vom Server getriggert wird, erfolgt leider keine Änderung des Profildokuments. Laut Protokoll läuft der Agent in beiden Fällen sauber durch.

Ich teste das ganze zur Zeit direkt in einer Maildatenbank, also noch ohne Einbeziehung der Schablone.

Hat jemand eine Idee, warum die periodische Ausführung die gewünschte Änderung nicht umsetzt?

Viele Grüße
Thomas
Titel: Re: Globale Voreinstellungen für OoO
Beitrag von: koehlerbv am 05.12.07 - 13:10:07
Ohne Code kann man da gar nichts fundiertes sagen.

Und das Rennen über alle Maildatenbanken geht doch ganz einfach: Schnapp Dir im Domino Directory die Ansicht People, schleife über alle Personendokumente und instantiiere mit den dort vorhandenen Angaben die Maildatenbanken auf dem richtigen Server (der ja auch angegeben ist und bei Dir immer gleich ist).

Bernhard
Titel: Re: Globale Voreinstellungen für OoO
Beitrag von: Thok am 05.12.07 - 13:18:43
Danke für die wieder sehr schnelle Antwort.

Mehr Code als das was ich in meinem Beitrag gepostet hatte, ist tatsächlich derzeit nicht im Agent drin.

Mit Deinen Tipp zum Anpassen aller Maildatenbanken werde ich mich auf jeden Fall auch noch mal auseinandersetzen! Aber nicht mehr heute. Ist nämlich kurzer Mittwoch und daher habe ich jetzt schon Feierabend  ;)

Thomas
Titel: Re: Globale Voreinstellungen für OoO
Beitrag von: klaussal am 05.12.07 - 13:20:17
Mal so eine Grundsatzüberlegung:

Wen der OoO-Agent antwortet, werden sich u.U. die Spamer freuen, dass sie eine gültige Adresse gefunden haben. Und dann geht der Zirkus vermutlich erst richtig los....
Titel: Re: Globale Voreinstellungen für OoO
Beitrag von: koehlerbv am 05.12.07 - 13:24:18
Klaus: Und genau deswegen will Thomas ja ... Aber lies einfach sein Ausgangsposting.  ;)

Bernhard
Titel: Re: Globale Voreinstellungen für OoO
Beitrag von: klaussal am 05.12.07 - 13:26:05
Ok. Doppelte Verneinung habe ich übersehen. Asche auf mein Haupt !

PS
Zitat
Ist nämlich kurzer Mittwoch
Hier dauert der Mittwoch immer noch 24 Std......
Titel: Re: Globale Voreinstellungen für OoO
Beitrag von: Thok am 06.12.07 - 08:32:04
Bisher haben wir unseren Abwesenheitsagenten auch auf Internetmails antworten lassen. Würde mich von daher nicht wundern, wenn wir bei diversen Spamversendern schon ziemlich hoch in der Hitliste stehen.

Möchte aber nicht, dass wir selbst als Spamschleudern in Verruf geraten. Bei den ganzen eingehenden Spammails mit gefälschten Absendern antworten unsere Außer-Haus-Agenten auch immer brav. Und der ahnungslose Empfänger wundert sich dann, warum er von uns Mails bekommt.

Thomas
Titel: Re: Globale Voreinstellungen für OoO
Beitrag von: Thok am 06.12.07 - 13:15:26
So, nun läufts.

Ist sicherlich noch nicht so elegant gelöst, hat aber in den Tests gut funktioniert.

Für alle, die es interessiert, hier mein Code:

Code
Dim nab As NotesDatabase
Dim mailDB As NotesDatabase
Dim personCol As NotesDocumentCollection
Dim personDoc As NotesDocument
Dim data As Variant
Dim item As NotesItem
Dim OoOProfile As NotesDocument
Dim server As Variant

Sub Initialize	
	Set nab = New NotesDatabase("XXX", "names.nsf") 'XXX durch Server ersetzen, von dem das NAB ausgelesen werden soll
	Set personCol = nab.AllDocuments
	Set personDoc = personCol.GetFirstDocument
	While Not (personDoc Is Nothing)
		data = personDoc.GetItemValue("MailFile")
		If (Instr(data(0), "mail")=1) Then 'Nur Einträge verarbeiten, die im Verzeichnis mail oder mail-in liegen
			Print data(0)
			server = personDoc.GetItemValue("MailServer")
			Set mailDB = New NotesDatabase(server(0),data(0))
			Set OoOProfile = mailDB.GetProfileDocument( "OutOfOfficeProfile" )
			OoOProfile.ReplaceItemValue"ExcludeInternetEmail","1"
			OoOProfile.Save 1,1,1
		End If
		Set personDoc = personCol.GetNextDocument(personDoc)
	Wend
End Sub

Am Montag werde ich das über alle unsere Mail-Datenbanken laufen lassen. Sofern ich dabei doch noch böse Überraschungen erlebe, werde ich das hier posten.

Thomas
Titel: Re: Globale Voreinstellungen für OoO
Beitrag von: Thok am 10.12.07 - 10:46:49
Der Agent ist heute über knapp 200 Maildatenbanken gelaufen und hat seine Arbeit vorbildlich erledigt.

Falls also noch jemand ähnliches mit dem OoO-Agenten vorhat, kann man den Code wohl als Grundlage verwenden. Natürlich ohne jegliche Gewähr ;)

Viele Grüße
Thomas