Bei mir häufen sich zurzeit mal wieder die Spam-Mails (es ging mit Locky schon los) und bei Uberspace kann man ganz leicht einen Spam-Schutz einrichten. Frank von intux.de hat auf seinem Blog gezeigt wie man den Spamschutz auf Uberspace einrichtet.
nano ~/.qmail-info (Dies gilt für die E-Mail-Adresse info@domain.tld)
Dort folgende Zeile einfügen und mit Strg + O, Enter & Strg +X speichern:
|maildrop
Möchtet ihr den Spamschutz nicht für die E-Mail Adresse info@domain.tld sondern zum Beispiel für anne.bauer@domain.tld müsst ihr die Datei ~./qmail-anne.bauer erstellen. anne.bauer ersetzt ihr durch eure E-Mail Adresse.
nano ~/.qmail-anne.bauer
Dort folgende Zeile einfügen und mit Strg + O, Enter & Strg +X speichern:
|maildrop
nano .mailfilter
Die nachfolgenden Regeln reichen für den Anfang aus:
MAXSPAMSCORE="3" logfile "$HOME/mailfilter.log" # set default Maildir MAILDIR="$HOME/Maildir" # check if we're called from a .qmail-EXT instead of .qmail import EXT if ( $EXT ) { # does a vmailmgr user named $EXT exist? # if yes, deliver mail to his Maildir instead CHECKMAILDIR = `dumpvuser $EXT | grep '^Directory' | awk '{ print $2 }'` if ( $CHECKMAILDIR ) { MAILDIR="$HOME/$CHECKMAILDIR" } } # check if we're called from a .qmail-EXT instead of .qmail import EXT if ( $EXT ) { # does a vmailmgr user named $EXT exist? # if yes, deliver mail to his Maildir instead CHECKMAILDIR = `dumpvuser $EXT | grep '^Directory' | awk '{ print $2 }'` if ( $CHECKMAILDIR ) { MAILDIR="$HOME/$CHECKMAILDIR" } } # check folder structure `test -d "$MAILDIR/.0 Spamfilter"` if( $RETURNCODE == 1 ) { `maildirmake "$MAILDIR/.0 Spamfilter"` } `test -d "$MAILDIR/.0 Spamfilter.als Spam erkannt"` if( $RETURNCODE == 1 ) { `maildirmake "$MAILDIR/.0 Spamfilter.als Spam erkannt"` } `test -d "$MAILDIR/.0 Spamfilter.als Spam lernen"` if( $RETURNCODE == 1 ) { `maildirmake "$MAILDIR/.0 Spamfilter.als Spam lernen"` } `test -d "$MAILDIR/.0 Spamfilter.als Ham lernen"` if( $RETURNCODE == 1 ) { `maildirmake "$MAILDIR/.0 Spamfilter.als Ham lernen"` } # show the mail to SpamAssassin xfilter "/usr/bin/spamc" # now show the mail to DSPAM xfilter "/package/host/localhost/dspam/bin/dspam --mode=teft --deliver=innocent,spam --stdout" # if whitelisted by DSPAM just deliver if ( /^X-DSPAM-Result: Whitelisted/) { to "$MAILDIR" } # process SPAM if ( /^X-Spam-Level: \*{$MAXSPAMSCORE,}$/ || /^X-DSPAM-Result: Spam/) { MAILDIR="$MAILDIR/.0 Spamfilter.als Spam erkannt" # mark as read cc "$MAILDIR"; `find "$MAILDIR/new/" -mindepth 1 -maxdepth 1 -type f -printf '%f\0' | xargs -0 -I {} mv "$MAILDIR/new/{}" "$MAILDIR/cur/{}:2,S"` exit } # and finally, deliver everything that survived our filtering to "$MAILDIR"
Nach dem ihr die Datei mit Strg + O, Enter & Strg +X gespeichert habt müssen die Rechte der Datei auf 600 gesetzt werden.
chmod 600 ~/.mailfilter
uberspace-setup-spamd
test -d ~/service || uberspace-setup-svscan runwhen-conf ~/etc/dspam-learn "/usr/local/bin/dspam-learn" sed -i -e "s/^RUNWHEN=.*/RUNWHEN=\",M=`awk 'BEGIN { srand(); printf("%d\n",rand()*60) }'`\"/" ~/etc/dspam-learn/run ln -s ~/etc/dspam-learn ~/service test -d ~/service || uberspace-setup-svscan runwhen-conf ~/etc/dspam_clean_hashdb "/usr/local/bin/dspam_clean_hashdb" sed -i -e "s/^RUNWHEN=.*/RUNWHEN=\",H=`awk 'BEGIN { srand(); printf("%d\n",rand()*24) }'`\"/" ~/etc/dspam_clean_hashdb/run ln -s ~/etc/dspam_clean_hashdb ~/service
Für die E-Mail Adresse info@domain.tld:
echo | EXT=info maildrop .mailfilter
und für die E-Mail Adresse anne.bauer@domain.tld (passt den Namen der Datei an):
echo | EXT=anne.bauer maildrop .mailfilter
Die gesendete Testnachricht sollte im Verzeichnis „als Spam erkannt“ landen. Die Ordner müssen in RoundCube noch aktiviert werden.
Einstellungen -> Ordner
Unter Einstellungen -> Spezialordner wird „o Spamfilter“ als Spamordner gesetzt.
Ich hoffe ich konnte euch mit diesem Beitrag weiterhelfen.
Quelle: intux.de