INECO Forum Overzicht Overzicht Aanmelden Aanmelden Registreer Registreer Profiel Profiel Ledenlijst Ledenlijst Groepen Groepen Zoeken Zoeken

Server Mail Rules met Spamassassin (Draft)
 
 
 
 
 Geplaatst   Bericht 
Marcel Rothuizen

Marcel Rothuizen
 

Aanmelddatum: 10-11-2000
Woonplaats: Heteren (Gld)
Datum: 18-11-2006 00:28:22    Bericht: Server Mail Rules met Spamassassin (Draft)

Met Spamassassin is het eenvoudig om in te stellen bij welke score mail wordt aangemerkt als spam.
Het is echter makkelijk als je in Domino kunt bepalen welke aktie er uitgevoerd moet worden bij welke score.
Er staan op internet meerdere artikelen over hoe je de mail rules kunt aanpassen om ook de Spam scores te kunnen afvangen.
Helaas werkte deze voorbeelden niet in onze situatie.
Dit had meerdere oorzaken:

  1. het veld X_Spam_Score heeft geen Summary eigenschap waardoor formules niet werken op dit veld.
  2. de score is tekst en moet worden omgezet naar nummer om te kunnen vergelijken
  3. door het converteren van text kan het voorkomen dat er fouten optreden door verschillende punt en komma notatie voor decimalen

Na wat puzzelen heb ik uiteindelijk een werkende situatie waarbij Spamassassin alle spam mail gewoon door laat maar wel de spam score weg schrijft op de mail.
In Domino kan ik nu met een Mail Rule eenvoudig de waarde aanpassen waarop ik berichten naar een spam postbus wil verplaatsen.

Dit is een beschrijving voor versie 7x: 

Open hiervoor de pernames.ntf database sjabloon (Domino Directory) in de Designer.

Ga naar het formulier (RulesDlg)|Mailrule.

 Voeg extra opties toe aan het veld "condition":

spamassassin tag|M
spamassassin score|N
amavis alert|O

Pas de formule in het veld "Logic" aan:

@If(@Contains(Condition;"C":"F":"H":"N");
"is less than|1":"is greater than|2":"is|3":"is not|4";"contains|1":"does not contain|2":"is|3":"is not|4")

Sla het formulier op.
Open de Script Library "Rules"

Zoek in de Declarations de regel "Const COND_Customize = ....."
Voeg daar de extra opties toe:

Const COND_SPAMTAG       = &h00000122&
Const COND_SPAMSCORE     = &h00000123&
Const COND_AMAVISALERT     = &h00000124&

De waardes zijn niet van belang, ze moeten alleen uniek zijn.

Voeg bij de functie FieldString de volgende waardes aan de Select Case  toe:

 Case "M"
  FieldString = GetString(COND_SPAMTAG)
  
 Case "N"
  FieldString = GetString(COND_SPAMSCORE)
  
 Case "O"
  FieldString = GetString(COND_AMAVISALERT)

Pas in de sectie "LogicString" de regels If (strCond = "C") Or (strCond = "H")  Or (strCond = "F") Then aan zodat er dit staat:

If (strCond = "C") Or (strCond = "H")  Or (strCond = "F") Or (strCond = "N") Then

In de sectie ConditionParser kunnen we de volgende opties toevoegen aan "Select Case COND_sCondition"

Case "M"
  Fieldstring = "X_SPAM_FLAG"

 Case "N"
  Fieldstring =  |@If(@IsError(@TextToNumber(@ReplaceSubstring(X_SPAM_SCORE;".":",";""))/| &_
  |@Power(10;@Length(@RightBack(@ReplaceSubstring(X_SPAM_SCORE;".";",");","))));0;| &_
  |@TextToNumber(@ReplaceSubstring(X_SPAM_SCORE;".":",";""))/@Power(10;@Length(@RightBack(@ReplaceSubstring(X_SPAM_SCORE;".";",");","))))|
  
 Case "O"
  Fieldstring = "X_Amavis_Alert"

De lange formule van "N" zal er voor zorgen dat het tekstveld X_Spam_Score netjes wordt omgezet naar een voor de Domino server begrijpelijke nummerieke waarde.

 Even verder op in deze sectie voegen we de "N" optie toe aan de "Select Case COND_sLogic" regels:

Select Case COND_sLogic
 Case "1"
  If COND_sCondition = "C" Or COND_sCondition = "F" Or COND_sCondition = "H" Or COND_sCondition = "N" Then
   LogicString = " < "
  Else
   '//contains
   LogicString = " @Contains( "
  End If
  ConditionParser = True
 Case "2"
  '//does not contain
  If COND_sCondition <> "C" And  COND_sCondition <> "F" And COND_sCondition <> "H" And COND_sCondition <> "N" Then

Weer een eind verder voegen we de nieuwe opties toe aan "Select Case COND_sCondition"

  Case "M","O"  '//X_Spam_FLAG
  Select Case COND_sLogic
  Case "1" , "2"
   s_MAINFORMULA = s_MAINFORMULA & "(" & LogicString & FieldString & | ;"| & COND_sString & |"))|
  Case "3" , "4"
   s_MAINFORMULA = s_MAINFORMULA & "(" & FieldString & LogicString & " """ & COND_sString & """)"
  End Select
  
 Case "N"  '//X_SPAM_SCORE
  s_MAINFORMULA = s_MAINFORMULA & "(" & FieldString & LogicString & COND_sString & ")"

 In de sectie GetString voegen we de nieuwe opties toe aan "Select Case StringType":

 Case COND_SPAMTAG
  GetString = " spamassassin tag"
  
 Case COND_SPAMSCORE
  GetString = " spamassassin score"
  
 Case COND_AMAVISALERT
  GetString = " amavis alert"

Vervolgens kunnen we de wijzigingen opslaan en de Domino Directory vernieuwen met dit sjabloon.

Maak een nieuwe Mail Rule aan bijvoorbeeld als spamassissin flag is greater than 4 move to Database spam.nsf.

Sla de rule en de configuratie op. Eventueel op de server console het commando Set Rules uitvoeren.

Je kunt nu testen.  Een testbericht is o.a. te vinden op http://spamassassin.apache.org/gtube/gtube.txt

Afbeeldingen volgen nog.....

 

Bij ons werkte dit overigens pas nadat we de velden waarop we willen testen ook als Notes velden op de formulieren in de Mail Router Mailbox hadden geplaatst.
In ons geval dus drie velden: X_Spam_Score, X_Spam_Flag en X_Amavis_Alert alle drie als text.
De velden hebben dan op het moment dat de Router de Rules uitvoert de eigenschap Summary waardoor de formules de velden kunnen evalueren.

 

Naar boven
 E-mail Website ICQ MSNM Skype Hyves LinkedIn 
Marcel Rothuizen

Marcel Rothuizen
 

Aanmelddatum: 10-11-2000
Woonplaats: Heteren (Gld)
Datum: 03-08-2007 12:55:40    Bericht: Test spam mail (GTUBE)

This is the GTUBE, the
Generic
Test for
Unsolicited
Bulk
Email
If your spam filter supports it, the GTUBE provides a test by which you can verify that the filter is installed correctly and is detecting incoming spam. 
You can send yourself a test mail containing the following string of characters (in upper case and with no white spaces and line breaks):
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X  
Naar boven
 E-mail Website ICQ MSNM Skype Hyves LinkedIn 
Zoek in afgelopen ok
 
   Overzicht / Lotus Notes Beheer / Server  
Pagina 1 van 1 

IBM LOTUS NOTES migratie doet u samen met INECO

Powered by Lotus Domino R8.5.3 on Fedora Core 14 Dit  forum is gemaakt door Intranet &  Network Consultancy. © 2011.
Voor vragen of opmerkingen  kunt u contact opnemen met:  .
Deze site is gemaakt met Lotus Notes R8.5.3 en draait op Fedora Core 14.

INECO Support Contract banner