Fehler bei Srcipteinbau in Qsheff

misterx01

New Member
Fehler bei Scripteinbau in Qsheff - Nachricht kann nicht gesendet werden!

Hallo,

ich habe nun Qsheff in meinen Qmail-Server eingebunden!
Das funktioniert nun auch reibungsos, allerdings möchte ich folgendes Script in folgende Beschreibung einbauen, welche dazu dient das nur User mit aktivierten Spammodul auf Spams geprüft werden. Virenscan über Clamav sollte natürlich bei allen durchgeführt werden.

Beischreibung inkl. Script (als Kommentar auf - huschi.net abrufbar):
/var/qmail/bin/qmail-queue zeigt auf das folgende Script (bei mir qmail-queue.spam, Name grds. beliebig):

Code:
#!/bin/bash
Domain=`echo $SMTPRCPTTO | cut -d@ -f2`
SPAMC=/usr/bin/spamc
MAX_SIZE=256000 # max letter size to filter
SOCKETPATH="/tmp/spamd_full.sock"

case $Domain in
|) "$SPAMC" -s "$MAX_SIZE" -u -U "$SOCKETPATH" -E | /var/qmail/bin/qmail-qsheff;;
) "$SPAMC" -s "$MAX_SIZE" -u -U "$SOCKETPATH" -E | /var/qmail/bin/qmail-qsheff;;
*) /var/qmail/bin/qmail-qsheff;;
asec
Dabei sind mit den entsprechenden Domains und mit einem zu der/den Domains passenden Mailaccount zu ersetzen.

Die Lösung sorgt dafür, dass für die spezifizierten Domains zusätzlich Spamassassin läuft. Der Parameter "-E" sorgt für eine Übergabe der Mail an qsheff, bei dem die Spam-Headerprüfung aktiviert ist und dessen qsheff.rules um den Eintrag

h:(X-Spam-Status: Yes)

erweitert worden ist.

Dies hat gegenüber dem Weglassen des Parameters "-E" den Vorteil, dass auch die durch SA erkannten Spams durch qsheff geloggt werden.

Die Lösung erlaubt damit den frühen Einsatz von SA für ausgewählte Domains.

Nachdem ich nun dieses Script eingebaut habe, bekomme beim Versand folgende Fehlermeldung:
Code:
/var/qmail/bin/qmail-queue.spam: line 8: syntax error near unexpected token `|'

Damit ist wahrscheinlich das 1. Zeichen in dieser Zeile gemein, wo ich leider nicht weiter weiß! Wie kann ich das lösen?

Danke!
 
Last edited by a moderator:
Irgendwie erkenne ich da mein Script und meine Anleitung wieder... nur müssen da natürlich Domain-Namen hin, das Script ist auf ein Multi-Domain-Setup ausgelegt, so dass ich für Domain-Inhaber, die keinen vorgelagerten Spam-Check wollen, den Spam-Check manuell dauerhaft deaktivieren kann.

Dabei sind die ersten beiden Zeilen von der Funktion hier identisch und dienten in meinem Script nur der Strukturierung.

Es fehlen die Domain-Namen, das | ist ein "ODER"-Trenner....

In dem Original standen <Domain1> usw. an den entsprechenden Stellen und hätten natürlich durch die korrekten Domain-Namen ersetzt werden müssen.

Bei nur einer Domain kann die ganze case-Anweisung entfallen...
 
Hallo,

ja da hast du sicher recht haben, ich habe diese Anleitung von huschi.net aus einem Kommentar heraus genommen, da ich diese Funktion gerne einbauen möchte!

Das heißt, dass ich nun in Zeile 7 die gewünschten Domains eintragen muss oder?

Z.B.:
Code:
case $Domain in <Domain1> | <Domain2> | <Domain3> )

Kann ich diese auch dynamisch aus der Virtualdomain-Datei von Qmail auslesen lassen?
Den wenn Domains hinzukommen müsste ich das Script immer wieder erweitern.
 
MOD: Full-Quote entfernt!
Du hast den Sinn der case-Anweisung nicht verstanden...

Wenn Du SA für alle Domains laufen lassen willst, ist die case-Anweisung nicht erforderlich.

Mein Script realisiert die Möglichkeit, SA für einzelne Domains eben NICHT laufen zu lassen (wenn der Domain-Betreiber dem eben nicht zugestimmt hat).

Die Domain der aktuellen Mail wird ausgelesen und danach wird entschieden, wie weiter zu verfahren ist.

Brauchst Du das nicht, ersetze den Bereich zwischen case und esac durch

"$SPAMC" -s "$MAX_SIZE" -u -U "$SOCKETPATH" -E | /var/qmail/bin/qmail-qsheff

Wenn man allerdings mit Scripten arbeitet, sollte man in diesem Bereich zumindest grundlegende Kenntnisse haben... sonst geht das schnell schief.

Im übrigen müssen ansonsten Änderungen _manuell_ eingepflegt werden, wenn neue Domains angelegt werden, weil Plesk hier schlicht umgangen wird.
 
Last edited by a moderator:
Hallo,

danke, nein ich hab dein Script schon richtig verstanden weshalb ich das Script auch einsetzen möchte.

Ich hab nur bei der Umsetzung falsch gedacht.
Es gibt da ja die Möglichkeit bei einer Plesk-Spam-Lizenz diese zu deaktivieren u. zu aktivieren. Hier kam mir der Gedanke ob es nicht möglich ist, dieses Script mit diesen Einstellungen zu verknüpfen.

Eben so, dass alle deaktivierten Domains in dieses Script eingebunden werden!
Aber dies wird wohl kaum möglich sein, da diese Einstellungen nicht Domain, sondern E-mailkonto bezogen sind.
 
Eben..... und es fehlt auch in dem von Dir so gequoteten Aufruf der Verweis auf die User-Settings, die für die Domain verwendet werden sollen. Klar könnte man das sogar auf User-Ebene versuchen zu realisieren, das Problem zu dem frühen Zeitpunkt ist nur, dass man erstmal die endgültige Mailbox herausfinden muss, die für die Zieladresse zuständig ist (ggf. mehrfache, interne Weiterleitungen, Catchall, usw.) Und das ist sehr aufwendig. Daher nehme ich an dieser Stelle den Postmaster-Account der Domain. Aber das ist meine lokale Lösung.
 
Hallo,

das wäre ja die Ideale Lösung, wenn du oder jemand das realisieren könnte!
Aber auch das mit dem Postmaster-Account wäre schon ein guter Anfang, vielleicht könntest du mir dazu das Script od. eine kurze Anleitung posten.

Was die andere Lösung betrifft habe ich mich sowieso schon gefragt, warum Haggybaer u. Huschi, sowie du u. andere die hier Arbeit leisten, hier oder auf euren Websites schon Mal einen Spendenbuton angebracht habt, wo man einen Geldbetrag abgeben u. sozusagen indirekt somit euch auf einpaar Getränke einladet!

Schließlich steckt da ja viel Zeit u. Entwicklung dahinter, wo ich z.B. nicht Mal die Zeit hätte um mir das Wissen anzueignen, damit ich solche Scripte u. Programme selbst schreibe.
Da bin ich froh, dass es Menschen wie euch gibt, die einen da weiter helfen, weshalb es ja nicht immer kostenlos sein muss. Ihr sollt ja schließlich auch was davon haben.
 
Spenden sind Steuerlich immer ein kleines Problem.
Und seine User aufzufordern auf Google-Anzeigen zu klicken ist, laut weltweitem Grundgesetz (== Google's Nutzungsbedingungen), verboten.
Also bleibt uns nichts anderes übrig als ein trübes Dasein zu fristen...

Nein im Ernst:
huschi.net ist gar nicht für Leute wie Dich gemacht.
Es ist lediglich ein Aushängeschild für mich um große Firmen anzulocken und mich für teuer Geld leichte Arbeiten an deren Servern verrichten zu lassen.
Also meidet huschi.net, denn dahinter steckt ein richtiges Kapitalisten-Schwein.

huschi.
 
Hallo,

das wäre ja die Ideale Lösung, wenn du oder jemand das realisieren könnte!
Aber auch das mit dem Postmaster-Account wäre schon ein guter Anfang, vielleicht könntest du mir dazu das Script od. eine kurze Anleitung posten.

Schau auf huschi.net, da ist das komplette Script...
 
Back
Top