Domino 9 und frühere Versionen > Entwicklung

Spam Filter

(1/5) > >>

HartiMcFly:
Hallo,

ich habe einen Agenten, der mir "Spam Mails" in einen seperaten Ordner verschiebt. Es läuft soweit alles einwandfrei. Leider bekomme ich von einer Person Mails, die ebenfalls im Spam landen, dieses aber nicht dürfen.

Kann ich in meinem Script irgendwo eine Ausnahme für eine Mail Adresse einbauen. Quasi soll diese Mail Adresse dann nicht von dem Agenten angefast werden.

Ich hoffe ihr könnt mir helfen.
Hier mal mein Code.

Danke Patrick

Sub Initialize
   Dim Sitzung As New NotesSession
   Dim Inhaltsliste As Variant
   Dim Inhalte List As String
   Dim mail As NotesDocument
   Dim datenbank As NotesDatabase
   
   Set Sitzung = New NotesSession
   Set mail = Sitzung.DocumentContext
   Set datenbank = Sitzung.CurrentDatabase
   
   If mail.hasitem("X_Spam_Status") Then
      Inhaltsliste = Evaluate({@explode(@ReplaceSubstring("}&mail.X_Spam_Status(0) & {"; " "; " ") ;" ")})
      
      Forall param In Inhaltsliste
         Inhalte (Strleft(param, "=")) = Strright(param, "=")
      End Forall
      
      If Val(Inhalte ("score")) >= 4.8 Then
         Call datenbank.EnableFolder("Spam")
         Call mail.PutInFolder( "Spam" )
         Call mail.RemoveFromFolder("($Inbox)")
      End If
      
   End If
End Sub

Thomas Schulte:
Du setzt an der falschen Stelle an.

Da ist das Kind ja schon in den Brunnen gefallen. Ich würde bei der Spam Erkennungs SW nachschauen, warum die den Score für diese Person auf über 4.8 setzt.

Grundsätzlich kannst du natürlich noch eine Klammer außenrum machen und
if mail.From(0) <> "Benutzername"
mit einbauen aber das wird je mehr Ausnahmen du machen willst um so aufwändiger. Wenn schon dann solltest du dir da eine Liste mit einbauen und auf ist nicht in Liste enthalten abfragen. Dann kann man das wenigstens erweitern.

HartiMcFly:
Hallo Thomas,

kannst du mir dass bitte einmal mit beispiel@test.de in meinen Code ein bauen?
Ich sehe zur Zeit den Wald vor lauter Bäumen nicht mehr.

Danke Patrick

Thomas Schulte:
Sei mir nicht böse aber das müsstest du eigentlich alleine hinbringen.

Schließlich hast du den Befehl ja schon und musst ihn nur noch an der richtigen Stelle einbauen. Und die sollte mit etwas logischer Überlegung ganz einfach zu finden sein.

HartiMcFly:
Hallo Thomas,

ich habe es jetzt folgendermaßen eingebaut, leider zeigt es so keine Wirkung. Kannst du nocheinmal drüber schauen?

Danke Patrick

Sub Initialize
   Dim Sitzung As New NotesSession
   Dim Inhaltsliste As Variant
   Dim Inhalte List As String
   Dim mail As NotesDocument
   Dim datenbank As NotesDatabase
   
   Set Sitzung = New NotesSession
   Set mail = Sitzung.DocumentContext
   Set datenbank = Sitzung.CurrentDatabase
   
   If mail.from(0) <> "Beispiel@test.com" Then
      
      If mail.hasitem("X_Spam_Status") Then
         Inhaltsliste = Evaluate({@explode(@ReplaceSubstring("}&mail.X_Spam_Status(0) & {"; " "; " ") ;" ")})
         
         Forall param In Inhaltsliste
            Inhalte (Strleft(param, "=")) = Strright(param, "=")
         End Forall
         
         If Val(Inhalte ("score")) >= 4.8 Then
            Call datenbank.EnableFolder("Spam")
            Call mail.PutInFolder( "Spam" )
            Call mail.RemoveFromFolder("($Inbox)")
         End If
      End If
   End If
   
End Sub

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln