Domino 9 und frühere Versionen > Entwicklung
Mails nur von bestimmten Mail Adressen zulassen
Glombi:
Du kannst einen LotusScript Agenten erstellen:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
dim doc as NotesDocument
dim nextdoc as NotesDocument
Set db = session.CurrentDatabase
Set dc = db.UnprocessedDocuments
set doc = dc.GetFirstDocument
While not (doc is Nothing)
set nextdoc = dc.GetNextDocument(doc)
if not(doc.From(0) = "Absender OK") then
call doc.Remove(true)
end if
set doc = nextdoc
Wend
Falls das mit dem "Vor Eingang neuer Mail" nicht geht, kannst Du auch "Nach Eingang neuer Mail" machen.
koehlerbv:
--- Code: ---if not(doc.From(0) = "Absender OK") then
--- Ende Code ---
Das würde ich noch ausbauen, um die Sache konfigurierbar machen: Im Setup-Dokument der Mail-in-Datenbank gibt es eine Multivalue-Feld der erlaubten Absender. Dieses dann in ein Variant einlesen und mit ArrayGetIndex auf den Absender prüfen.
Geschickt wäre es vielleicht auch, die unzulässige Mail nicht nur zu löschen, sondern mit entsprechendem Vermerk dem Absender wieder zurück zu schicken.
HTH,
Bernhard
Semeaphoros:
Statt ArrayGetIndex in diesem Fall auch Contains vom Notes-Item verwendbar (das Item braucht man ja eh im- oder explizit, um die Werte auszulesen)
koehlerbv:
Wozu sollte man NotesItem denn hier benötigen ? Abgesehen davon ist das natürlich auch eine Variante, erzeugt aber mehr LOC ;-)
Bernhard
Semeaphoros:
Um die Werte aus dem Feld rauszuholen, ziehst Du NotesItem in jedem Falle an, sei es als GetItemValue oder implizit mit einem
xyz = doc.FeldName
Letzeres heisst ja nicht umsonst "Kurzschreibweise", sprich der Compiler löst das als Aufruf auf das GetItemValue (welches ziemlich sicher das NotesItem anzieht, ist ja schliesslich idR guter OO-Code dahinter - vermutlich) auf, allenfalls auch der Runtimer. Wenns AtRuntime passiert, dann wäre die ShortNotation allerdings ein Performance-Aspekt.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln